VI'da (VIM) kullanıcı komutu nasıl atanır?


2

Kullanıcı komutunu Linux'ta (CentOS) VI (VIM) olarak atamaya çalışıyorum.

Özellikle, pdf liste dosyasını aşağıdaki gibi içeren bir script (sadece metin) dosyası varsa, her pdf dosyasını linux'da 'gf' komutu gibi 'evince' komutunu kullanarak görüntülemek istiyorum. örneğin, İmleci pdf listesinin birine koyarsam, sonra İşlev tuşuna basarsam, imleçte listelenen dosya 'evince' kullanılarak çalıştırılır.

3.pdf dosyasını görmek istersem, imleci koyarım, sonra bazı fonksiyon tuşlarına basarım, sonra pdf dosyası evince ile açılır. Ne yapmam gerekiyor ?

VI'da (VIM) kullanıcı komutu nasıl atanır? görüntü tanımını buraya girin

Yanıtlar:


1

Vim'i özelleştirmek için, önce komutları tek tek el ile oluşturup test edersiniz. Çalışan bir diziniz varsa, eşlemeleri (örneğin, bir anahtar [dizisi] tarafından tetiklenir F1) veya komutları (örneğin Ex modunda yazılan ) kolayca tanımlayabilirsiniz :MyCommand.

Bu nedenle, şu anki satırı okumanız ve onunla bir sistem komutu çalıştırmanız gerekir:

  • Okumak kolaydır y$( getline('.')varsayılan yazmacıyı gizlemekten kaçınmak için alt seviyeyi kullanabilirsiniz, ancak bu isteğe bağlı bir uzantıdır; ilklere bağlı kalın).
  • Sistem komutları :! {cmd}(yine, system()daha düşük seviyeli bir alternatif var)
  • Bir kayıt ekleme komut satırı modunda olduğunu <C-r>".

(Bunun hepsi mükemmel bulunabilir :help.) Olacağını tam komutu ( <CR>bir Enterkomut satırı sonucuna tuşu):

y$:! evince <C-r>"<CR>

Bu tatmin edici bir şekilde çalışıyorsa, onu bir haritalamaya dönüştürebilir ve içine koyabilirsiniz ~/.vimrc:

:nnoremap <F1> y$:! evince <C-r>"<CR>

İşte bu kadar! Otomatik olarak bir sonraki satıra ilerlemek istiyorsanız j, sonunda bir a ekleyin .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.