För att få överblick över alla Vims kommandon: :help quickref.txt
-
<c-d>
betyderctrl-d
-
<m-d>
betyderalt-d
(m
läses "meta") -
<c-w>w
betyder tryckctrl-w
, senw
-
<cr>
är samma sak som<enter>
-
För att kolla upp vad exempelvis
<c-w>w
så använder du:help CTRL-W_w
-
Använd
<Tab>
i menyn då den ger förslag utifrån det du skrivit. Exmpelvis om du skriver:help ctrl-
och sen trycker<Tab>
istället för<Enter>
så får du upp massa olika förslag som du kan navigera genom medctrl-n
/ctrl-p
(next/previous) eller<Down>
/<Up>
. Funkar även när du skriver början på mapp-/filnamn efter exempelvis:e
.
<c-w>v
- splittarv
ertikalt skärmen i två fönster<c-w>s
- splittar horisontellt skärmen i två fönster<c-w>c
- stänger det aktiva fönstret<c-w>o
- stänger alla fönster förutom det aktiva fönstret<c-w>h
/<c-w>j
/<c-w>k
/<c-w>l
- för att hoppa till vänstra/undre/övre/högra fönfönstret<c-w>w
- för att hoppa tillbaka till tidigare fönster- Alla ovan nämnda kommandon förutom
<c-w>c
går att göra och hålla inctrl
hela tiden, dvs<c-w><c-v>
är samma sak som<c-w>v
- Om du lägger till
nmap <C-c> <Nop>
tillinit.vim
så funkar även<c-w><c-c>
istället för<c-w>c
- Om du lägger till
- För fler kommandon, se
:help windows
.
- repeterar senaste kommandos
- "sentence" text object, t.ex.dis
/das
- "delete in sentence"/"delete around sentence". För definition av sentence::help sentence
.)
/(
hoppar till starten av nästa/tidigare sentence
gx
- öppnar webbadress under cursor i din webbläsare, testa på https://www.google.com/I
/A
för att börja redigera längst fram/längst bak på raden du står på>>
/<<
- indenterar raden till höger/vänster, går också att göra i visual mode med>
/<
<C-o>
/<C-i>
- hoppar till tidigare/senare ställe som du varit på med din cursor<C-6>
- hoppar till tidigare filen (buffer) du varit i - för att hoppa mellan två filerg;
/g,
- hoppar till tidigare/senare ställe där du gjort en ändring<c-v>
- för att markera text i visual mode som ett blockI
- För att redigera på alla rader i början av blocketA
- För att redigera på alla rader i början av blocket
gv
- återställer senaste markering i visual modee
/ge
- för att ställa dig med din cursor på sista karaktären ordet du står på/det tidigare ordet. Användbart tillsammans meda
:- Av någon anledning har pluginet
vim-markdown
hijackatge
i markdown-filer för att öppna länkar, har inte hunnit kolla upp hur man stänger av det ea
/gea
- för att börja skriva i slutet på ordet du står på / det tidigare ordet
- Av någon anledning har pluginet
<c-a>
/<c-x>
- ökar/minskar värdet på siffra under din cursor- Kolla även på
:help v_g_CTRL-A
(ascoolt)
- Kolla även på
~
- För att toggla uppercase/lowercase på karaktären under din cursor, eller hela markeringen i visual modegU
/gu
- för att ändra till uppercase/lowercase på nästa motion/text object, typgUw
, eller på markeringen i visual modet
/T
/f
/F
tar counts, t.ex.c2t.
ändrar till näst-nästa.
- Det är generellt bättre att lära sig att använda
_
istället för0
för att gå till början av raden, då_
skippar whitespace i början av raden (bra för indenterade listor mm) =
- indenterar automatiskt text object eller markering i visul mode==
- indenterar automatiskt raden din cursor är på
*
/#
- söker nedåt/uppåt efter ordet under din cursorgj
/gk
- för att hoppa ner/upp i "displayed line", användbart om raden är längre än fönstrets bredd så att en rad tar upp två "displayed lines"<c-l>
- Tömmer eventuell text som printats längst ned till vänster- Om du lägger till
vnoremap // y/<C-R>"<CR>
iinit.vim
så kan du med//
söka i visual mode efter det du markerat - Om du lägger till
map g/ /\<\><Left><Left>
- iinit.vim
så kan du medg/
söka bara efter hela ord (dvs ignorera träffar på delar av ord) - För att hoppa till exempelvis rad 42 kan du använda
:42
eller42G
- För att hoppa till nästa eller tidigare rubrik i markdown:
[[
och]]
-
För att få en indikator efter att du kopierat text med
y
. Sätt350
till hur länge texten ska vara highlightad i millisekunder:augroup highlight_yank autocmd! autocmd TextYankPost * silent! lua require'vim.highlight'.on_yank("IncSearch", 350) augroup END
-
För att appenda
.
till raden med<leader>.
utan att pekaren flyttas, och samma sak för,
och?
:map <leader>, :call VisualAppend(",")<CR> map <leader>. :call VisualAppend(".")<CR> map <leader>? :call VisualAppend("?")<CR> " Appends `char` to current line or visual selection function! VisualAppend(char) exe "normal! m0" exe "normal! A" . a:char exe "normal! `0" endfunction
-
För att tvinga
:help
-pages i vertikala fönster istället för horisontellaaugroup vertical_help " Open :help in 85 character wide vertical instead of horizontal split autocmd! autocmd BufEnter *.txt if &buftype == 'help' | wincmd L | vertical resize 85 | endif augroup END
-
För att tillåta musklick i vim (avstängt by default hehe):
set mouse=a
-
För att alltid highlighta raden du står på
set cursorline
-
För att göra tab-karaktärer 4 spaces breda istället för 8
set tabstop=4
-
För att snygga till några färger:
highlight CursorLineNr term=bold gui=bold highlight! link Search Visual highlight! link SpecialKey Directory
-
För att automatiskt upptäcka externa ändringar i fil du har öppen
set autoread " Automatically read in the file when changed externally augroup filechanged " Check if any file has changed autocmd! autocmd FocusGained * silent! checktime augroup end
-
Make
;
/,
always seach forward/backward, respectivelynnoremap <expr> ; getcharsearch().forward ? ';' : ',' nnoremap <expr> , getcharsearch().forward ? ',' : ';'
- Om du markerat text i visual mode kan du trycka
p
/<leader>p
för att ersätta det med det något som du kopierat - Macros - för att spela in och spela upp många kommandon
- Sessions - för att spara en session, dvs filer och fönster öppna i vim och återställa nästa gång du öppnar vim
- Folds - för att gömma (fold) delar av dokumentet som du inte jobbar på
- Tryck
<Up>
/<Down>
eller<C-p>
/<C-n>
('previous'/'next') i command-line-menyn (:
) eller search (/
) för att stega igenom historik av kommandon/sökningar - Lägg till
set nomagic
tillinit.vim
så tolkas dina sökningar bokstavligen, och inte med regex (annars matchar exempelvis en sökning efter.
alla tecken i filen)- Dock för att söka efter tecknet
/
måste du alltid sätta ett\
framför, dvs\/
, förutom om du söker bakåt med?
- Dock för att söka efter tecknet
- Vimium - Google Chrome extension som ger dig Vim-bindings
- För att se vad ett custom commando gör, exempelvis
<leader>V
, använd:map <leader>V
- Du kan även söka efter delar av kommandon, typ
:help <leader>
för att se alla kommandon som börjar med<leader>
- För att se vad vanilla-kommandon gör, typ
~
använd:help ~
- Du kan även söka efter delar av kommandon, typ