@breakerthb
2017-05-27T01:40:20.000000Z
字数 1835
阅读 1500
Linux
Shell
参考:http://www.runoob.com/linux/linux-vim.html
一般模式
可以移动光标、删除字符和整行、复制粘贴
编辑模式
按键进入
命令模式
在一般模式中,输入“: / ?”三个中的一个
一般模式 -> 编辑模式 : i,o,a(插入)R(替换)
编辑模式 -> 一般模式 : ESC
一般模式 -> 命令模式 : :,/,?
命令模式 -> 一般模式 : ESC
:wq 保存后退出
:wq! 强制保存后退出
:w 保存
:w! 强制保存
:q 离开
:q! 强制离开不保存
ZZ 若无改动,不保存离开
若有改动,保存后离开
:w[filename] 另存为
:r[filename] 在编辑过程中读入另一个文件数据
:n1,n2 w [filename] 将n1,n2的内容保存成filename这个文件
:s 替换当前行
:s/…/…/ 替换第一个
:s/…/…/g 替换所有
eg :s/vivian/sky/ vivian 替换为 sky
:n 替换第n1行到第n2行
:n1,n2s/…/…/ 替换第n行到最后每行第一个
:2,$s/…/…/g 替换第2行到最后一行全部(.表示开始,$表示结束)
eg:
:.,$s/^/#/g 注释全文
:3,7s/^/#/g 注释第3行到第7行
:%s 替换每一行
:%s/…/…/ 替换每一行第一个
:%s/…/…/g 替换每一行所有
eg:
^M 表示回车(输入方法:Ctrl+V,Ctrl+M)
i 从当前光标处插入
I 在当前行的第一个非空格字符处插入
a 从当前光标的下一个字符处插入
A 在当前行的最后一个字符处插入
o 下一行插入
O 上一行插入
r 替换光标所在字符一次
R 一直替换光标所在文字,直到安下ESC
h、j、k、l 左下上右 向下30行:30j 或 30方向键
[Ctrl] + f Page down
[Ctrl] + b Page up
[Ctrl] + d 向下移半页
[Ctrl] + u 向上移半页
+ 光标移动到非空格符号的下一行
- 光标移动到非空格符号的上一行
n<space> 向右移动n个字符
数字0或[Home] 到行首
$或[End] 到行尾
H 当前屏幕第一个字符
M 屏幕中央行第一个字符
L 最下方一行第一个字符
G 到文件最后一行
nG 到第n行
gg(g) 移动到第一行 相当于1G
n[Enter] 光标下移n行
/word 向下寻找“word”
?word 向上寻找“word”
n 继续一个查找动作
N 向前继续查找
x 相当于[Del]
X 相当于[Backspace]
nx 做n次x
dd 删除当前行
ndd 删除n行
d1G 删除从当前行到第一行的数据
dG 删除从当前行到最后一行的数据
d$ 删除后半行
d0 删除前半行
yy 复制当前行
nyy 复制当前行向下n行
y1G 复制当前行到第一行
yG 复制当前行到最后一行
y0 复制前半行
y$ 复制后半行
p 粘贴到下一行
P 粘贴在光标上一行
J 合并当前行与下一行
c 重复删除多个数据 向下删除10行:10cj
u 撤销
[Ctrl] + r 重复上一个操作
. 重复操作
v 字符选择
V 行选择
[Ctrl] + v 块选择
y 将反白部分复制
d 将反白部分删除
:sp [filename] | 新开一个窗口,如果没有文件名,则打开当前文件
[Ctrl]+w+j [Ctrl]+w+向下 | 移到下方窗口
[Ctrl]+w+k [Ctrl]+w+向上 | 移到上方窗口
[Ctrl]+w+q | 离开当前窗口
:set nu
:set nonu 设置与取消行号
:set hlsearch
:set nohlsearch 设置与取消查找内容反白
:set autoindent
:set noautoindent 自动缩进
:set backup
:set nobackup 自动保存备份文件,当修改时,保存上一个版本
:set ruler 显示状态栏
:set showmode 是否显示--INSERT--这类信息
:set backspace=(012) 2,可以删除任意值;0或1,能否删除原本的字符
:set all 显示目前所有环境参数
:set 显示与系统默认值不同的参数
:syntax on
:syntax off 是否根据语法显示不同颜色
:set bg=dark
:set bg=light 不同色调
~/.viminfo 操作记录
~/.vimrc 设置值(需要自己创建)
修改设置值
$ vim ~/.vimrc
添加:
set hlsearch
set backspace=2
set autoindent
set ruler
set showmode
set nu
set bg=dark
set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab
syntax on