Vim editörüne bir komut nasıl eklenir?


87

Varsa kaynak kodumun adı "foo.c". Düzenleme ve hata ayıklama yaparken ben her zaman bu komutu yürütmek: -

:! gcc -g foo.c -o foo; gdb foo

Vim'e ": debug" yazarsanız yukarıdaki komutun çalıştırılacağı şekilde özel bir komut ekleyebilir miyim? Bunu nasıl başarabilirim?

Yanıtlar:


103

Evet. Vim belgeleri, bölüm 40.2, Komut satırı eşlemeleri :

Vim editörü kendi komutlarınızı tanımlamanızı sağlar. Bu komutları, diğer herhangi bir Komut satırı modu komutu gibi yürütürsünüz. Bir komut tanımlamak için, ": command" komutunu aşağıdaki gibi kullanın:

: komut DeleteFirst 1delete

Şimdi ": DeleteFirst" Vim execut ": 1delete komutunu çalıştırdığınızda, ilk satırı siler.

Not: Kullanıcı tanımlı komutlar büyük harfle başlamalıdır. ": X", ": Next" ve ": Print" kullanamazsınız. Alt çizgi kullanılamaz! Rakamları kullanabilirsiniz, ancak bu önerilmez.

Bu çizgiyi içine koyun ~/.vimrc(eksi :elbette inital ) ve vim'e her başladığınızda tanımlanacaktır. Ayrıca, %:tdüzenlenmekte olan dosyaya atıfta bulunmak için kullanın (yazıyla ! gcc %:tdeğiştirilir ! gcc foo.c).

Yalnızca bir dosya için veya belirli dosyalar için tanımlanmasını istiyorsanız, bir otomatik komut isteyin .


4
Mevcut bir komutu değiştiriyorsanız kullanmanız gerekir command!.
phyatt

14

Vim'in Makefiles (: make) için desteği zaten var . Kaynağınız için bir tane oluşturursanız, ne yapmak istediğinizi belirtebilirsiniz. Ayrıca, ctags aracılığıyla Vim, derleme sırasında bulunan herhangi bir hatayı tekrar edebilir.


5

Kullanıcı tanımlı vi düzenleyici komutu ekleyin:

Bu, kullanıcı :Legendnormal modda yazdığında , imlecin altına bir metin bloğu eklenmesini sağlayacaktır.

Adım 1: Bu satırı ~ / legend_header.txt` isimli bir dosyaya yerleştirin.

this text will be added

Adım 2: Bu komutu ~ / .vimrc dosyanıza koyun (eğer dosya mevcut değilse yaratın):

"The following command puts the contents of ~/legend_header.txt 
"under the cursor when the user types ":Legend" in normal mode.
command Legend :r ~/legend_header.txt

Adım 3: Değişikliklerin geçerli olması için vi'yı yeniden başlatın. Sen bittin.

Dene

1. Adım: vi'de yeni bir dosya açın. Vi de varsayılan "normal modda" olun. tip:Legend

Adım 2: ~/legend_header.txtİmlecin içeriği eklenmelidir.


0

Bu kodu, .vimrc içinde c kodunu derlemek ve çalıştırmak için kullanıyorum:

:command Gcc !set $1 `echo "%" | sed 's/\.c//g'` ;gcc -o $1 "%" ; chmod o+x $1; $1

, ama ihtiyaçlarınız için koyabilirsiniz:

:command Gdb !set $1 `echo "%" | sed 's/\.c//g'` ;gcc -o $1 "%" ; gdb $1

Exec dosyasının adının .c uzantılı kaynak adı olduğundan emin olabilirsiniz.

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.