三种模式
- command mode 命令模式
- insert mode 输入模式
- last line mode 底行模式
1. 命令模式常用指令
光标移动
h 光标左移动
l 光标右移动
j 光标下移动
k 光标上移动
页面移动
ctrl + f 向下翻页 fall 下跳
ctrl + b 向上翻页 上b
ctrl + d 向下翻半页 down
ctrl + u 向上翻半页 up
文本定位
$ 跳到当前行尾
^ 跳到当前行头
gg 跳到文本第一行行头
G 跳到文本的最后一行行头。如加入数字,则跳转到数字行。10G,则跳转到10行
w 跳到下一个单词word
b跳到上一个单词,上b
( 左括号跳到上一个段落
) 右括号跳到下一个段落
屏幕定位
H 跳转到本屏幕第一行
M 跳转到本屏幕中间行
L跳转到本屏幕最后一行
z+ Enter 将当前行位移到屏幕第一行
z- 将当前行位移到屏幕最后一行
字符操作——复制粘贴删除
删除
dd 删除光标所在行。如加数字,则向下删除多少行。5dd,向下删除5行
dl 删除当前光标的字符
dw 删除光标所在单词(只能删除光标当前,到单词末尾)
dt 字符,如dtc,则删除光标到c字符的中间所有字符。
x 删除当前光标所在字符。如加数字,则向后删除多少个字符。5x,则向后删除5个字符
复制
yy 复制光标所在的行。如加数字,则向下复制复制多少行。5yy。则向下复制5行。
yl 复制光标当前字符
yw 复制光标所在单词(只能复制光标当前,到单词末尾)
粘贴
p 向下粘贴,在光标所在行的下方粘贴整行。粘贴在字符左侧
P 向上粘贴,在光标所在行的上方粘贴整行。粘贴在字符右侧
替换
r 替换,字符 在当前光标更换字符。ra,则将当前光标换成a
R 进入替换状态,输入的字符往后替换。按esc退出
撤销
u 撤销最近一次的修改,undo。向左,向以前
ctrl+r 取消最后一次的撤销,redo,向右,向以后
U 撤销所有修改
2. 编辑模式
在命令模式下- 转换为- 编辑模式
向前或行最前插入
i 当前光标的前一个插入
I 当前行的最前一个插入
向后或行最后插入
a 当前光标的后一个插入
A 当前行的最后一个插入
向上一行或下一行插入
o 下一行插入
O 上一行插入
替换
cc 替换。删除当前行,并进入插入模式。等待输入新字符
cl 替换(删除)当前字符,并进入插入模式。等待在当前字符(光标所在字符前)输入新字符
cw 替换(删除)当前单词,进入插入模式。(只能删除光标当前,到单词后)。当前字符(光标所在字符前)输入新字符
3.底行模式
保存或退出
:w 保存文件到内存
:q 退出
:!强制退出
:wq 或:x 存盘退出
切换已打开的文件
:ls 列出打开的文件
:n 切换到打开的下一个文件
:N 切换到打开的上一个文件
定位到对应行
:15 快速定位到15行
向后或向前搜索字符
: /abc 光标向后开始搜索abc,定位到第一个abc
:?abc 光标向前开始搜索abc,定位到第一个abc
设置行号
:set nu 设置行号(或者set number)
4. 文件创建
打开文件
vim + abc 打开文件到最后一行
vim +3 abc 打开文件到第三行
vim +100 abc 打开文件到100行,如没有100行,则为最后一行
打开文件并跳转到对应字符
vim +/aaa abc 进入文件后跳转到第一次出现aaa的位置,按n可以跳转下一个aaa
同时创建多个文件
vim aa bb cc 一次性创建三个文件,底行模式按n 回车,切换到下一个bb,按N 回车,切换到上一个cc。在文件中输入文字后,切换停止,且没有输入的文件,没有保存。
vim设置
ubuntu系统
cd /etc/vim/vimrc
切换到root
chmod 777 /etc/vim/vimrc
1.vim编辑器设置行号:
首先在"/etc" 目录下找到vimrc文件,然后在文件末尾加上一行"set nu"就好使了。
set nu
2.vim编辑器设置[Tab]键的缩进空格数
在vim编辑器下[Tab]键默认等于8个空格,但是在编辑的时候显得特别的不美观,可以采用下面的方法来修改一下:
首先在"/etc"目录下找到vimrc文件,然后在文件末尾加上如下代码(注意if那一行has函数的空格使用,多或少空格会报错,正确的是:has(□"autocmd"□),其中□代表空格)
或在各人目录,创建 .vimrc
设置行号,Tab自动缩进,括号补全
set nu
if has( "autocmd" )
filetype plugin indent on
autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandt ab
endif
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap < <><ESC>i
配置参考:http://blog.csdn.net/qingshui23/article/details/53375377
附加资源:
vim编辑器教学视频
慕课网:https://www.imooc.com/learn/111
极客学院:http://www.jikexueyuan.com/course/676_3.html?ss=1
vim 插件——python
https://github.com/SpaceVim/SpaceVim
超高清快捷键图