Hur man tilldelar markörtangenterna i vi & vim



Prova Vårt Instrument För Att Eliminera Problem

Medan vissa människor kan undvika alla ändringar av de klassiska vi Unix-piltangenterna, kan du vara en vim-användare som vill ändra dem. Det fina med Linux, BSD och Unix som helhet är att du har det sista ordet om allt. Många spelare gillar att använda WASD-tangenterna som markörtangenter, och du kanske vill använda dessa istället för HJKL. Det finns också några andra intressanta kombinationer som du kanske vill prova, och du kan prova någon av dessa.



Processen är inte alltför involverad, men det kräver kommandoraden. Om du är van att använda vi och vim är du redan bekant med hur du tar upp det. Klicka på K-menyn i KDE eller Whisker-menyn i Xfce4 och klicka på Terminal i Systemverktyg. Du hittar den på samma plats i applikationsmenyn i GNOME Shell och LXDE. Ubuntu Unity-användare kan söka efter ordet Terminal på Dash, eller så kan du använda Ctrl + Alt + T för att ta upp ett.



Metod 1: Tilldela WASD-tangenterna till vi & vim

Eftersom WASD-tangenterna redan har tilldelats något i vim, vill du använda en modifieringsnyckel. Det skulle vara tillräckligt enkelt att hålla ner Alt och dessa tangenter, men vi måste se till att din terminalemulator inte redan tilldelar dessa genvägar till något. Skriv på terminalen katt och tryck enter. Tryck på Alt + W, Alt + A, Alt + S och Alt + D för att se om några konstiga kommandokoder kommer upp. Du kanske också märker att vissa menyer faller ner som vi gjorde när vi gjorde det med xfce4-terminalen som vi använde för att ta skärmdumpar.



Skriv Ctrl + C för att avsluta, vilket också kan orsaka att några udda unicode-tecken kan skrivas ut på din terminal. Du kan säkert ignorera dessa. Skriv istället vim ~ / .vimrc för att ladda upp din konfigurationsfil. Håll j-tangenten intryckt tills du kommer hela vägen längst ner och skriv sedan I för att gå in i infogningsläge.

Tryck på Enter för att få en extra rad, och sedan beror vad du vill sätta in beror på om din terminalemulator alls fungerade. Om inte, lägg sedan till dessa fyra följande rader:

noremap h

noremap j

noremap k

l noremap

Om du hade problem, prova istället detta:

noremap a h

noremap s j

noremap i k

noremap d l

I båda fallen trycker du på Esc och skriver sedan: wq för att spara ditt arbete. Försök ladda upp vim igen och se om du nu kan använda WASD-tangenterna när du inte är i infogningsläget som om de är piltangenter. Du måste mer än troligen antingen hålla ner Alt eller Esc när du använder dem eftersom dessa nycklar redan är tilldelade, men förutom att de ska fungera bra. Detta är det snabbaste sättet att göra detta utan att behöva spela ytterligare, men det finns några andra metoder du kan prova om det antingen inte fungerade eller om du föredrar andra tangentkombinationer.

Metod 2: Använda alternativa alt-tilldelningar

Om ingen av dessa tekniker fungerar, skriv sedan vim ~ / .vimrc igen för att ladda upp din rc-fil igen och håll ner J-knappen tills du är helt längst ner. Skriv I för att redigera igen och ändra nu det nedre avsnittet för att läsa så:

noremap ^ [a h

noremap ^ [s j

noremap ^ [i k

noremap ^ [d l

Vissa användare rapporterar att de faktiskt fysiskt skriver en markering (^) följt av en öppen parentes ([) medan andra säger att de faktiskt behöver antingen hålla ner Alt-tangentkombinationerna eller alternativt kopiera och klistra in kommandokoderna själva. Du kan alltid skriva katt på en vanlig kommandorad och tryck på Alt + A, Alt + S, Alt + W och Alt + D för att få dessa, som du sedan kan markera, kopiera med Edit-menyn och klistra sedan in med Edit-menyn i vim om det är nödvändigt . Återigen är denna metod onödig för de flesta användare och bör undvikas. Den första metoden använder mycket mindre lek.

Du kan trycka på Esc och sedan skriva: wq för att spara det. Öppna en annan fil i vim och testa om dina önskade nycklar fungerar just nu. Detta borde fungera även med många typer av alternativa terminalemulatorprogram.

Metod 3: Använda andra tangentbindningar

Du är inte begränsad till HJKL-standardtangenterna eller de spelarföredragna WASD-tangenterna. Vissa människor föredrar att använda andra uppsättningar. I din .vimrc-fil kan du faktiskt ersätta avsnittet:

noremap h

noremap j

noremap k

l noremap

Detta ger dig mer val. Vissa föredrar ESDF, vilket gör att lillfingret kan röra vid andra tangenter medan du använder dessa som piltangenter. Du kan använda följande i din fil om du föredrar:

noremap h

noremap j

noremap k

l noremap

Vissa människor föredrar IJKL-diamanten på andra sidan tangentbordet. Du kanske är intresserad av den här konfigurationen:

noremap h

noremap j

noremap k

l noremap

Observera att den här är lite mer komplicerad eftersom den använder några av de nycklar som de vanliga HJKL-bindningarna skulle använda, men den ska fortfarande fungera på samma sätt. Om du är intresserad av dessa alternativa bindningar kan du ha kul att experimentera med några. Spelare som använder andra kombinationer kommer ibland att ersätta dessa och det har till och med varit några Unix-hackartyper som konfigurerar vim för att fungera med USB-kontroller. De flesta användare kommer dock att hitta HJKL- och WASD-tangenterna mer än tillräckligt.

4 minuter läst