vim的基本使用
1.vim的三種工作模式(vim是vi的增強版本)
??? 命令模式
??????? 按ESC鍵后就會進入命令模式,命令模式下的常用操作有復制/黏貼/刪除/撤銷等....
??? 編輯模式
??????? 在命令模式下輸入插入命令i(insert)、附加命令a (append)、打開命令o(open)、
??????????? 修改命令c(change)、取代命令r或替換命令s都可以進入文本輸入模式
??? 末行模式
??????? 在命令模式下按 : 即可進入末行模式
?????? ?
2.命令模式下的相關操作
??? 2.1 保存退出:shift + zz? //但是空文件不會保存
??? 2.2 代碼的格式對齊:gg=G
??? 2.3 光標的移動:
??????? 上下左右按鍵
??????? hjkl:左下上右
??????? 行首行尾:0 和 $(shift+4)
??????? 文件首尾:gg 和 G
??????? 到指定行:行號+G
??????? 從當前行往后跳n行:n+enter
??????? 向后跳轉一個單詞:w
??????? 到下一行行首:enter
??? 2.4 刪除
??????? 刪除一個字符:x
??????? 刪除一個單詞:dw
??????????? 如果此時光標在單詞的中間則只會刪除單詞的一部分
??????? 刪除前半行:d0
??????? 刪除后半行:d$(shift+4)?? 或者 D(shift+d)
??????? 刪除整行:dd
??????? 刪除n行:ndd
??????? 刪除整篇文章:先將光標移動到最后一行? 然后dgg
??? 2.5 撤銷和反撤銷
??????? 撤銷:u
??????? 反撤銷:ctrl + r?? ?
??? 2.6 復制
??????? 復制一行:yy
??????? 復制n行:nyy
??? 2.7 粘貼
??????? 粘貼到當前光標的下一行:p
??????? 粘貼到當前光標的上一行:P(shift+p)
??? 2.8 替換
??????? 替換單個字符:r
??????? 替換n個字符:R? //ESC鍵退出替換
??? 2.9 查找:
??????? 方法一:先按/(逆時針查找) 然后輸入要查找的內容,如果查找的內容在文本中有多處按n切換到下一處,N切換到上一處
??????? 方法二:先按?(順時針查找) 然后輸入要查找的內容,如果查找的內容在文本中有多處按n切換到下一處,N切換到上一處
??????? 方法三:將光標移動到你要查找的單詞上,然后按#(shift+3) 即可查找,如果查找的內容在文本中有多處按n切換到下一處,N切換到上一處
??? 2.10 查找函數的用法(如同vs下的 f12)
??????? 將光標移動到你要查找的函數名上,然后按:章節號+K(shift+k),q鍵退出,在按enter鍵回到代碼中
3.可視模式下的操作:在命令模式下按 v 即可進入可視模式,再按一次退出可視模式
??? 3.1 選中任意文本:??? 通過上下左右鍵或hjkl來選中文本
??? 3.2 復制:y (一個y就夠了,復制的就是3.1的結果)
??? 3.3 刪除和剪切:d(一個d就夠了,刪除的就是3.1的結果)
??? 3.4 粘貼:這里的粘貼是在光標所在位置的前后不是光標所在行的上下
??????? 在光標位置之后粘貼:p
??????? 在光標位置之前粘貼:P(shift+p)
4.編輯模式:
??? a:光標后面插入
??? i:
??? o:打開新的一行
??? s:
5.末行模式:在命令模式下按::
??? 5.1 保存退出:wq 或 x? + enter
??? 5.2 行跳轉:n + enter?? ?
??? 5.3 末行模式跳轉到命令模式:兩次ESC
??? 5.4 替換:
??????? 替換光標所在行的第一個:s/old/new
??????? 替換光標所在行的所有:s/old/new/g
??????? 一個一個的替換,沒替換一個就要詢問一次:s/old/new/gc
??????? 替換指定多行的:n1,n2s/old/new/g
??????? 替換指定多行并詢問:n1,n2s/old/new/gc
??????? 替換所有:%s/old/new/g?? ?
??????? 替換所有并詢問:%s/old/new/gc?? ?
??? 5.5 分屏:
??????? 水平分屏:sp
??????? 垂直分屏:vsp
??????? 分屏兩個不同的文件:sp/vsp 文件名
??????? 屏幕切換:ctrl + ww
??????? 退出分屏:
??????????? q:退出當前
??????????? qall:退出多有
??????????? wq/wqall
??? 5.5 末行模式下執行shell命令:!命令
6.vim同時打開多個文件
??? vim -o 文件1 文件2 文件3?? //垂直分屏
??? vim -O 文件1 文件2 文件3?? //水平分屏
?? ?
7.vim配置文件
??? 7.1 用戶級別(優先級高)
??????? ~./vimrc? //可能沒有
??? 7.2 系統級別(優先級低)
??????? /etc/vimrc
??? 7.3 vim配置
??????? set nocompatible ?
??????? set number
??????? set autoindent
??????? set smartindent
??????? set showmatch
??????? set ruler
??????? set incsearch
??????? set tabstop=4
??????? set shiftwidth=4
??????? set softtabstop=4
??????? set cindent
??????? set nobackup
??????? set clipboard+=unnamed
?????? ?
??????? #自動補全
??????? inoremap ' ''<ESC>i
??????? inoremap " ""<ESC>i
??????? inoremap ( ()<ESC>i
??????? inoremap [ []<ESC>i
??????? inoremap { {<CR>}<ESC>O
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
?? ?
???
轉載于:https://www.cnblogs.com/liujun5319/p/9660205.html
總結
- 上一篇: tiny4412的烧录工具minitoo
- 下一篇: javascript本地缓存方案--