Vim

2014-04-21 16 views
16

'da birden çok komut için bir anahtarın eşlenmesi Bir satırda birden fazla komut yürütmek için örneğin pdflatex kayıt ve yürütme işlemini gerçekleştirebileceğimi anlıyorum. %:t (yol olmadan) aktüel dosya adını verdiğiVim

:w | !pdflatex %:t 

Not. Bu kod Vim'de iyi çalışıyor. Ben, yukarıda şeyi eşleştirmek istiyorsanız, şimdi ctrl + shift + F6, şu

:nnoremap <C-S-F6> :w | !pdflatex %:t<CR> 

yapabilmek istiyorum demek Ama bu işe yaramazsa ve aşağıdaki bana verir hata.

:!pdflatex paper.tex<CR> 
/bin/bash: -c: line 0: syntax error near unexpected token `newline' 
/bin/bash: -c: line 0: `pdflatex paper.tex<CR>' 

bu ben ctrl + istenen işleve shift + F6 eşleyemezsiniz anlamına mı, tasarruf ve pdflatex yürütmek? Bunu aşmak için ne yapabilirim?

cevap

32

<C-S-F6> gerçekten çalışıyor varsayarsak (muhtemelen CLI Vim olmaz), çubuğu kaçmak gerekir ya da bunun yerine <bar> kullanın:

:nnoremap <C-S-F6> :w \| !pdflatex %:t<CR> 
:nnoremap <C-S-F6> :w <bar> !pdflatex %:t<CR> 

:help map_bar bakınız.

+0

OMG nasıl öğrendiniz? Çok teşekkür ederim! 'gerçekten çalışıyor. CLI Vim'in ne olduğunu bilmiyorum. GUI Vim'in aksine – Ray

+2

Komut Satırı Arabirimi Vim. Bunu biliyorum, çünkü aynı problemle karşılaştım, cevabı Vim'in belgelerinde buldum ve bunu unutmamıştım. – romainl