vim : 명령 행 인수를 통한 특정 구문 강제


17

PostgreSQL 스키마를 쉽게 읽고 싶을 때이를 덤프하여 stderr리디렉션합니다 vim.

pg_dump -h localhost -U postgres dog_food --schema-only | vim -

이것은 다음을 제공합니다.

여기에 이미지 설명을 입력하십시오

vim stdin에서 읽을 때 파일 이름 확장자가 없으므로 구문 강조 스키마가 없으므로 다음을 사용합니다.

:set syntax=sql

다음을 제공합니다.

여기에 이미지 설명을 입력하십시오

게으른 개발자이기 때문에 vim명령 줄 인수를 전달하여 SQL 구문을 사용하여 데이터로 set syntax=<whatever>열 때마다 다시 입력하는 성가대를 절약하고 싶습니다 stdin.

vim명령 행 인수를 전달하여 구문 을 설정하는 방법이 있습니까?

답변:


23

당신이 사용할 수있는:

vim -c 'set syntax=sql' -

2
참고 : 명령에 콜론이 없어도 작동합니다.
Murphy

1
더 짧은 변형 :vim '+set syn=sql' -
Stéphane Chazelas

5
일반적으로 set filetype=sql(또는 ft=sql짧게) 사용하는 것이 좋습니다 . 구문 강조뿐만 아니라 들여 쓰기 파일도로드합니다.
Martin Tournoij


1

당신은 당신의 명령을 넣어서 그것을 자동화 할 수도 있습니다 ~/.vimrc:

augroup filetype
  au! StdinReadPre * set filetype=sql
augroup END
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.