vim 命令合集

3 篇文章 0 订阅
2 篇文章 0 订阅

wget  http://files.cnblogs.com/ma6174/vimrc.zip

unzip  -f  vimrc.zip  -d  ~/

 


配置:https://github.com/ma6174/vim

 

简易安装方法:

打开终端,执行下面的命令就自动安装好了:

wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x

或者自己手动安装:(以ubuntu为例)

  1. 安装vim sudo apt-get install vim
  2. 安装ctags:sudo apt-get install ctags
  3. 安装一些必备程序:sudo apt-get install xclip vim-gnome astyle python-setuptools
  4. python代码格式化工具:sudo easy_install -ZU autopep8
  5. sudo ln -s /usr/bin/ctags /usr/local/bin/ctags
  6. clone配置文件:cd ~/ && git clone git://github.com/ma6174/vim.git
  7. mv ~/vim ~/.vim
  8. mv ~/.vim/.vimrc ~/
  9. clone bundle 程序:git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
  10. 打开vim并执行bundle程序:BundleInstall
  11. 重新打开vim即可看到效果

编写python程序

  1. 自动插入头信息:
    • #!/usr/bin/env python
    • # coding=utf-8
  2. 输入.或按TAB键会触发代码补全功能
  3. :w保存代码之后会自动检查代码错误与规范
  4. F6可以按pep8格式对代码格式优化
  5. F5可以一键执行代码

多窗口操作

  1. 使用:sp + 文件名可以水平分割窗口
  2. 使用:vs + 文件名可以垂直分割窗口
  3. 使用Ctrl + w可以快速在窗口间切换


命令历史

以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。

启动vim

在命令行窗口中输入以下命令即可

vim 直接启动vim

vim filename 打开vim并创建名为filename的文件

文件命令

打开单个文件

vim file

同时打开多个文件

vim file1 file2 file3 ...

在vim窗口中打开一个新文件

:open file

在新窗口中打开文件

:split file

切换到下一个文件

:bn

切换到上一个文件

:bp

查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。

:args

打开远程文件,比如ftp或者share folder

:e ftp://192.168.10.76/abc.txt

:e \\qadrive\test\1.txt

vim的模式

正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空
插入模式(按i键进入) 左下角显示--INSERT--
可视模式(不知道如何进入) 左下角显示--VISUAL--

导航命令

% 括号匹配

插入命令

i 在当前位置生前插入

I 在当前行首插入

a 在当前位置后插入

A 在当前行尾插入

o 在当前行之后插入一行

O 在当前行之前插入一行

查找命令

/text  查找text,按n健查找下一个,按N健查找前一个。

?text  查找text,反向查找,按n健查找下一个,按N健查找前一个。

vim中有一些特殊字符在查找时需要转义  .*[]^%/?~$

:set ignorecase  忽略大小写的查找

:set noignorecase  不忽略大小写的查找

查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。

:set hlsearch  高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。

:set nohlsearch  关闭高亮搜索显示

:nohlsearch  关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。

:set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。

:set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。

替换命令

ra 将当前字符替换为a,当期字符即光标所在字符。

s/old/new/ 用old替换new,替换当前行的第一个匹配

s/old/new/g 用old替换new,替换当前行的所有匹配

%s/old/new/ 用old替换new,替换所有行的第一个匹配

%s/old/new/g 用old替换new,替换整个文件的所有匹配

:10,20 s/^/    /g 在第10行知第20行每行前面加四个空格,用于缩进。

ddp 交换光标所在行和其下紧邻的一行。

移动命令

h 左移一个字符
l 右移一个字符,这个命令很少用,一般用w代替。
k 上移一个字符
j 下移一个字符
以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!<Esc>,这里的Esc是必须的,否则命令不生效。

w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。

b 向后移动一个单词 2b 向后移动2个单词

e,同w,只不过是光标停在单词尾部

ge,同b,光标停在单词尾部。

^ 移动到本行第一个非空白字符上。

0(数字0)移动到本行第一个字符上,

<HOME> 移动到本行第一个字符。同0健。

$ 移动到行尾 3$ 移动到下面3行的行尾

gg 移动到文件头。 = [[

G(shift + g) 移动到文件尾。 = ]]

f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。

F 同f,反向查找。

跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。

Ctrl + e 向下滚动一行

Ctrl + y 向上滚动一行

Ctrl + d 向下滚动半屏

Ctrl + u 向上滚动半屏

Ctrl + f 向下滚动一屏

Ctrl + b 向上滚动一屏

撤销和重做

u 撤销(Undo)
U 撤销对整行的操作
Ctrl + r 重做(Redo),即撤销的撤销。

删除命令

x 删除当前字符

3x 删除当前光标开始向后三个字符

X 删除当前字符的前一个字符。X=dh

dl 删除当前字符, dl=x

dh 删除前一个字符

dd 删除当前行

dj 删除上一行

dk 删除下一行

10d 删除当前行开始的10行。

D 删除当前字符至行尾。D=d$

d$ 删除当前字符之后的所有字符(本行)

kdgg 删除当前行之前所有行(不包括当前行)

jdG(jd shift + g)   删除当前行之后所有行(不包括当前行)

:1,10d 删除1-10行

:11,$d 删除11行及以后所有的行

:1,$d 删除所有行

J(shift + j)  删除两行之间的空行,实际上是合并两行。

拷贝和粘贴

yy 拷贝当前行

nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。

p  在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。

shift+p 在当前行前粘贴

:1,10 co 20 将1-10行插入到第20行之后。

:1,$ co $ 将整个文件复制一份并添加到文件尾部。

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制

ddp交换当前行和其下一行

xp交换当前字符和其后一个字符

剪切命令

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切

ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴

:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。

:1, 10 m 20 将第1-10行移动到第20行之后。

退出命令

:wq 保存并退出

ZZ 保存并退出

:q! 强制退出并忽略所有更改

:e! 放弃所有修改,并打开原来文件。

窗口命令

:split或new 打开一个新窗口,光标停在顶层的窗口上

:split file或:new file 用新窗口打开文件

split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。

Ctrl+ww 移动到下一个窗口

Ctrl+wj 移动到下方的窗口

Ctrl+wk 移动到上方的窗口

关闭窗口

:close 最后一个窗口不能使用此命令,可以防止意外退出vim。

:q 如果是最后一个被关闭的窗口,那么将退出vim。

ZZ 保存并退出。

关闭所有窗口,只保留当前窗口

:only

录制宏

按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。

执行shell命令

:!command

:!ls 列出当前目录下文件

:!perl -c script.pl 检查perl脚本语法,可以不用退出vim,非常方便。

:!perl script.pl 执行perl脚本,可以不用退出vim,非常方便。

:suspend或Ctrl - Z 挂起vim,回到shell,按fg可以返回vim。

注释命令

perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#

3,5 s/^/#/g 注释第3-5行

3,5 s/^#//g 解除3-5行的注释

1,$ s/^/#/g 注释整个文档。

:%s/^/#/g 注释整个文档,此法更快。

帮助命令

:help or F1 显示整个帮助
:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助)。
:help 'number' Vim选项的帮助用单引号括起
:help <Esc> 特殊键的帮助用<>扩起
:help -t Vim启动参数的帮助用-
:help i_<Esc> 插入模式下Esc的帮助,某个模式下的帮助用模式_主题的模式
帮助文件中位于||之间的内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回

其他非编辑命令

. 重复前一次命令

:set ruler?  查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看

:scriptnames  查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等。

:set list 显示非打印字符,如tab,空格,行尾等。如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。

Vim教程
在Unix系统上
$ vimtutor
在Windows系统上
:help tutor

:syntax 列出已经定义的语法项
:syntax clear 清除已定义的语法规则
:syntax case match 大小写敏感,int和Int将视为不同的语法元素
:syntax case ignore 大小写无关,int和Int将视为相同的语法元素,并使用同样的配色方案



vi (vim) 详解/图解

 [语法] : vi [-wn] [-R] 文件...
[说明]: vi 是一个基于行编辑器 ex 上的全屏幕编辑器, 可以在 vi 中使用 ex, ed 的全部命令, vi 选项中 -wn 指将编辑
窗口大小置为 n 行, -R 为将编辑的文件置为只读模式,  vi 工作模式分为命令模式和输入模式, 一般情况下在命令模式下,
可敲入 vi 命令, 进入输入模式下时可以编辑要编辑的文本, 命令 a A i I o O c C s S R 可进入输入模式, 在输入模式下
按 ESC 键可推出输入模式, 回到命令模式, 在命令模式中敲入: 命令, 则可进入 ex 方式, 在屏幕底部出现提示符 : ,
此时可使用任意 ex 命令, 屏幕底行也用来作/ ? ! 命令的提示行, 大多数命令可以在其前面加数字, 表示命令执行的重复
次数, 下面简单介绍一下 vi 的命令集, ^ 表示(CTRL) 键
^B 退回前一页, 前面加数字表示重复次数, 每次换页时
保留上一页的两行
^D 在命令模式下, 表示下滚屏幕的一半, 在输入模式下, 表示回退至
左边的自动缩进处
^E 显示屏幕底线之下的一行
^F 前进一页, 前面加数字表示重复次数, 每次换页时
保留上一页的两行
^G 显示当前文件名 , 当前行号和文件总行数, 并用百分号当前行在
整个文件中的位置
^H(退格) 在命令模式下, 光标左移一格; 在输入模式下, 删去前面的字符
^I(TAB) 在输入模式下, 产生一串空格
^J(LF) 光标下移一行
^L 刷新屏幕, 即将屏幕重新显示
^M(回车) 在命令模式下, 光标移动至下行开头
在输入模式下, 开辟一新行
^N 光标下移一行
^P 光标上移一行
^Q 在输入模式下, 将其后的非打印字符作为正文插入
^R 刷新屏幕
^U 屏幕上滚一半, 前面加数字时表示上滚的行数, 此数字对
以后的^D ^U 命令有效
^V 在输入模式下, 将其后的非打印字符作为正文插入
^W 在输入模式下, 使光标回退一个字
^Y 显示屏幕底线之上的一行
^Z 暂停编辑, 退回上层 Shell
^[(ESC) 退出输入模式, 回到命令模式
! 暂时退出编辑, 执行 Shell 命令
(双引号) 用于标志有名缓冲区, 编号缓冲区 1-9 用于保存被删去的正文, 字
母名缓冲区 a-z 供用户存放自定义的正文
$ 将光标移动到当前行尾, 前加数字则表示前移行数, 如 2$表示移动
到下一行行尾
% 将光标移动到配对的小括号() 或大括号{} 上去
( 退回句子开头
) 前移到句子开头
- 退到上一行第一个非空格字符
. 重复上一次改变缓冲区内容的命令
/ 模式 向前搜索模式, 将光标移动到模式出现处, 模式是一个正规
表达式, (参看 grep)
: 在屏幕底部提示:, 其后可使用 ex 命令
? 功能同 / , 但方向是向前查找
[[ 光标回退至前一节分界处
转意符
]] 光标前移至节分界处
^(不是 CTRL) 光标移至当前行第一个非空字符上
' 连续两个'' 表示将光标移至其移动前的位置, ' 后跟字母表示光标字
母标记的行首(参看 m 命令)
A 在行尾插入正文, 进入输入模式
B 光标回退一个字
C 替换光标后的内容
D 删除光标后的内容
E 光标前移到字尾
F 字符 在当前行向左查找指定字符
G 光标移动到其前面数字指定的行, 若未指定则移动到最后一行
H 光标移动到屏幕顶行, 若前面有数字, 则移动到屏幕上该数字
指定的行
I 在行开头插入正文
J 连接两行, 若前面有数字则连接数字指定的行
L 光标移动到屏幕底行, 若前面有数字, 则移动到屏幕底线往上数该
数字指定的行
M 光标移动到屏幕中线
N 使用模式查找/或?时, 重复找下一个匹配的模式, 但方向与上次相
反, 其功能同 n , 但方向相反
O 在当前行上开辟一新行
P 将上次被删除的正文插入光标前面, 可在其前面加缓冲区编号, 编
号 1-9 用于保存被删去的正文, 字母名缓冲区 a-z 供用户存放自定
义的正文
Q 从 vi 推出进入 ex 命令状态
R 替换字符串
S 替换整行
T 字符 向左查找字符
U 将当前行恢复至第一次修改前的状态
W 光标移至下一个字首
X 删除光标前的字符
Y 将当前行存入无名缓冲区, 前面加数字表示存入的行数, 也可用有
名缓冲区来保存, 以后可用命令 p 或 P 将其取出
ZZ 存盘退出 vi
a 光标后插入正文
b 光标回退至上一个字首
cw 替换当前字
c) 替换当前句子
dw 删除一个字
dd 删除一行
e 光标移到下一个字末
f 字符 在当前行向前查找字符
h 光标左移一格
i 在光标前插入正文
j 光标下移一行
k 光标上移一行
l 光标右移一格
m 字母 用字母标记当前行, 以后可用 ' 字母使光标移动到当前行,
(参看' 命令)
n 重复上次 / 或 ? 命令
o 在当前行下开辟一新行
p 将用户缓冲区内容放到光标位置(参看 P 命令)
r 替换当前字符
s 用一串字符替换当前字符
t 字符 光标移动至字符前
u 取消上次操作
w 光标移至下一字首
x 删除当前字符
yw 将当前字存入无名缓冲区, 前面可加 x, 表示存入名字为 x 的有名
缓冲区(x 为 a-z) , 也可加数字表示存入的字数, 以后可用 P 或 p 命
令取出
yy 将当前行存入无名缓冲区, 用法参看 yw
{ 光标移动至前一段开头
| 光标移至行首, 若前面加数字, 则移到数字指定行的行首
} 光标移至下一段开头
在: 提示符下, 常用命令如下:
: w 当前文件存盘
: w! 强制存盘
: w 文件 将内容写入指定文件
: w! 文件 强制写入指定文件
: x, y w 文件 将 x 至 y 行写入指定文件中
: r 文件 将文件读到光标位置
: r ! 命令 将系统命令的输出读到光标位置
: q 退出编辑
: q! 强制退出
: x 与命令 ZZ 相同
: e 文件名 编辑另一文件
: e ! 重新编辑文件, 放弃任何改变
: sh 执行 sh, 结束后回到编辑
: ! 命令 执行命令后回到编辑
: n 编辑下一文件
: n 文件表 重新定义待编辑文件表
: set 设置 vi 的选项, 例如 set nu 表示每行前显示行号, 在选项前
加 no 则表示清除该选项, 例如 set nonu 表示每行前不显示行
号, 下面是一些常用的选项:
ai 自动缩进
aw 编辑下一文件前自动存盘
ic 查找字符串时不区分大小写
nu 每行前显示行号
sm 输入) 及} 时显示与之配对的( 或 {
slow 插入时延迟屏幕刷新
ws 使查找能绕过文件尾从头进行
wa 写文件之前不作对文件的检查
=================================================================
vi(Visual) 是以视觉为导向的全屏幕编辑器、 共分为三种方式(mode):
command 方式:
任何输入都会作为编辑命令, 而不会出现在屏幕上, 若输入错误则有“岬” 的声音; 任何输入
都引起立即反映
insert 方式:
任何输入的数据都置于编辑寄存器。 在 command 方式下输入( I,a,A 等) , 可进入 insert 方式,  insert 方式下按 ESC,
可跳回 command 方式。
escape 方式:
以“ : ” 或者“/” 为前导的指令, 出现在屏幕的最下一行, 任何输入都被当成特别指令。
进入 vi( 在系统提示符下面输入以下指令) :
vi  进入 vi 而不读入任何文件
vi filename 进入 vi 并读入指定名称的文件( 新、 旧文件均可)。
vi +n filename 进入 vi 并且由文件的第几行开始。
vi +filename  进入 vi 并且由文件的最后一行开始。
vi + /word filename 进入 vi 并且由文件的 word 这个字开始。
vi filename(s)  进入 vi 并且将各指定文件列入名单内 , 第一个文件先读入。
vedit 进入 vi 并且在输入方式时会在状态行显示“INSERT MODE"。
编辑数个文件(利用 vi filename(s)) 进入 vi 后)
:args  显示编辑名单中的各个文件名
:n 读入编辑名单中的下一个文件
:rew 读入编辑名单中的第一个文件
:e# 读入编辑名单内的前一个文件
:e file  读入另一个文件进 vi(此文件可不在编辑名单内 ) , 若原文件经修改还没有存档, 则
应先以: w 存档。
:e! file 强迫读入另一个文件进入 vi, 原文件不作存档动作。
存储及退出 vi
:w filename 存入指定文件, 但未退出 vi(若未指定文件名则为当前工作的文件名 )。
:wq 或者 :x 或者 zz 存文件, 并且退出 vi.
:q 不作任何修改并退出 vi。
:q!  放弃任何修改并退出 vi。
:!command  暂时退出 vi 并执行 shell 指令, 执行完毕后再回到 vi。
:sh 暂时退出 vi 到系统下, 结束时按 Ctrl + d 则回到 vi。
加数据指令
i 在关标位置开始插入字符, 结束时候按 ESC 键。
I 在光标所在行的最前面开始加字, 结束时按 ESC 键。
a 在光标位置后开始加字, 结束时按 ESC 键。
A 在光标所在行的最后面开始加字, 结束时按 ESC 键。
o 在光标下加一空白行并开始加字, 结束时按 ESC 键。
O 在光标上加一空白行并开始加字, 结束时按 ESC 键。
!command 执行 shell 指令, 并把结果加在光标所在行的下一行。
删除指令
nx 删除由光标位置起始的 n 个字符( 含光标位置, 按一个 x 表示删除光标所在的字符)
nX  删除由光标位置起始的 n 个字符( 不含光标位置)。
ndw 删除光标位置其实的 n 个字符组( word) 。
d0  将行的开始到光标位置的字符全部删除。
d$ 或 D  将光标位置起始到行尾的字符全部删除。
ndd  将光标位置起始的 n 行(整行) 删除(dd 表示删除光标所在行)。
:start,endd 删除文件的第 start 到 end 行。
关标移动
0  移到一行的开始
$  移到一行的最后
[ 移到文件开始位置
]  移到文件结束位置
nh 往左移 n 位
nl 或者 spacebar  往右移 n 位
nk 向上移 n 行
n+ 向上移 n 行, 光标在该行的起始
ni  向下移 n 行
n- 向下移 n 行, 光标在该行的起始
H 移到屏幕的左上角
M 移到屏幕的中间行开头
L 移到屏幕的最后一行
G 移到文件的最后一行
nG 或者:n 移到文件的第 n 行
nw 右移 n 个字组, 标点符号属于字组
nW 右移 n 个字组, 标点符号不属于字组
nb 左移 n 个字组, 标点符号属于字组
nB 左移 n 个字组, 标点符号不属于字组
Ctrl + u 屏幕上卷半个菜单
Ctrl + d  屏幕下卷半个菜单
Ctrl + b  屏幕上卷一个菜单
Ctrl + F  屏幕下卷一个菜单
修改指令
r 修改光标文件的字符
R 从光标位置开始修改, 结束时按 ESC 键
new 更改 n 组字符, 结束时按 ESC 键
ncc 从光标所在位置开始更改 n 行, 结束时按 ESC 键
重排各行长度
i 并按 Enter 将该行由光标所在处断开, 并进入 insert 方式
J  把下一行的数据连接到本行之后
寻找指令
/text 从光标位置往下找字串 text
?text 从光标位置往上找字串 text
n 继续找下一个字串( 在输入上面的寻找指令之后使用)
寻找并且取代指令
:getxt1/s/ /text2/options  将各行的 text1 替换为 text2
option=g 表示文件中所有的 text1 均被取代, 若未输入任何 option, 则只有 各行中的第一
个出现的 text1 被取代
option=go 在屏幕显示各取代的行
option=gc 在每个字串取代之前要求确认
Start,endgtext1/s/ / text2/options 同上, 只寻找并取代第 start~end 行。
或:Start,ends/text1/text2/options
复制及移动文件
:first,last co dest  将 first 到 last 行的数据复制到目标行(dest) 下面
:Start,end m dest 将 start 到 end 行的数据移动到目标行( dest) 下。
:r filename 将指定文件的内容读入光标所在行下。
nY  将光标所在位置开始的 n 行数据暂存
p 复制暂存数据在光标的下一行
P 复制暂存数据在光标的上一行
其他命令
.  重复前一指令
u 取消前一指令
Ctrl + l 刷新屏幕显示
:set number 显示文件的行号, 但不会存文件
:set nonumber 解除行号显示
:set ai 设置每行起始位置(以光标当前位置为起始)
:set noai 取消行起始位置设定
:f 或<Ctrl> + g 告诉用户有关现行编辑文件的数据。
================================================================

Last line mode:

/exp Go forward to exp
?exp Go backward to exp
:w Write buffer to disk
:w newfile Write buffer to newfile
:w! file Write Absolutely
:q Quit editor
:q! Quit,discarding buffer
:wq Write buffer and quit
:x Write if needed & quit
:f Edit & file status
:r Read file into buffer
:r file Read named file in
:e (Re)edit file
:e! (Re)edit,discard file in
:e file Edit nameed file
:3,8d Delete lines 3-8
:4,9m 12 Move lines 4-9 to 12
:2,5t 13 Copy lines 2-5 to 13
:5,9w file Write lines 5-9 to file
:s/old/new/ Current line,sub first "old" w/ "new"
:s/old/new/g Current line,sub each "old" w/ "new"
:3,9s/old/new Lines 3-9,sub first "old" w/ "new"
:%s/old/new All lines,sub first "old" w/ "new"
: %s/old/new/g All lines,sub each "old" w/ "new"
:s/pat./new A . matches any charcter
:s/pat*/new A * matches 0 or more "t"s
:s/pa[0-9aeioA-Z]/new selection set or range
:s/pa[^aeiou]/new match any non-vowel
:s/^pat/new anchor "par" to beginning of line
:s/pats/new anchor "par" to end of line
:s/old/& and new/ restoe matched pattern on sub
:%s/./ &/ indenta whoie file
:set nu Display line numbers
:set nonu Turn off option
:set all Show all settings
:set list Try to display invisible chars
:set wm=5 Wrap lines 5 sp from R margin

Command mode:

<- | ->
hljk Cursor movement
G Goto last file line
3G Goto line 3
0 Goto line start
$ Goto line end
% Goto matching brace/paren
H Goto screen top
M Goto screen middle
L Goto screen bottom
w Go forward 1 word
3w Go forward 3 word
b Go back 1 word
3b Go back 3 word
n Repeat previous search
N Reverse previous search
x Delete one character
dw Delete one word
dd Delete one line
D Delete to end of line
d0 Delete to beginning of line
dG Delete to end of file
4dd Delete 4 lines
u Undo last change
. Do last chang
Y Yank a copy of a line
5Y Yank a copy of 5 lines
P Put below cursor
p Put above cursor
J Join next line to current
4J Join 4 lines to current
>> Shift a line right
3>> Shift 3 lines right
^d 1/2 scroll forward
^u 1/2 scroll backwards
^f Scroll forward
^b Scroll backwards
n Repeat previous search
N Reverse previous search
ZZ Write if needed & quit vi

Insert mode:

a Append after cursor
A Append at line end
cw Change a word
3cw Change 3 words
C Change line
i Insert before cursor
5i Insert at 5 times
I Insert at beginning of line
o Open a linebelow cursor
O Open a line above cursor
r Replace one character
R Replace/type-cver a line
s Substitute a character
S Substitue a lin



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值