私の.vimrcでは、次のようにvundleパッケージを一覧表示します。
cat ~/.vimrc
...
Bundle 'Raimondi/delimitMate'
Bundle 'kien/ctrlp.vim'
Bundle 'matchit.zip'
Bundle 'upAndDown'
Bundle 'rking/ag.vim'
...
では、バンドル名でバンドルリストをすばやくソートしたいと思います。これは/
、次の既存の行に対して機能します。
cat ~/.vimrc | sort -t "/" -k2,2
...
Bundle 'matchit.zip'
Bundle 'upAndDown'
Bundle 'rking/ag.vim'
Bundle 'kien/ctrlp.vim'
Bundle 'Raimondi/delimitMate'
...
foo/
forのように、バンドル名の前に追加されていない行を並べ替えるにはどうすればよいですかBundle 'matchit.zip'
?
ベストアンサー1
いつでも前に追加して./
から再度削除できます。たとえば、
sed "/\// ! s:^Bundle[[:space:]][[:space:]]*':&./:" ~/.vimrc |
sort -t "/" -k2,2 |
sed "s:\(^Bundle[[:space:]][[:space:]]*\)'\./:\1:"
あるいは、GNUを使用すると、拡張sed
正規表現を使用してわずかに短縮できます。
sed -r "/\// ! s:^Bundle[[:space:]]+:&./:" ~/.vimrc |
sort -t "/" -k2,2 |
sed -r "s:(^Bundle[[:space:]]+)'\./:\1:"
あるいは、ファイルが一貫性があると確信している場合は、単一のリテラルスペースを使用してください。