내 .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:"
또는 파일이 일관성이 있다고 확신하는 경우 단일 리터럴 공백을 사용하십시오.