Vim 命令整理

1. 文件命令

2. 模式切换

3. 移动命令

4. 书签命令

5. 修改命令

6. 可视化操作

7. 区域选择

8. 宏命令

9. 分屏

10. 系统设置命令

1. 文件命令

[:]开始的命令需要输入[Enter]结束

:q:退出

:q!:退出不保存

:qa!:退出所有文件不保存

:w:保存

:e <file>:关闭当前文件并打开另一个文件

:saveas <file>:另存为<file>

:wq 或 :x 或 ZZ:保存并退出(ZZ不需要冒号[:])

:bn或:n:打开多个文件时,切换到下一个文件

:bp:多个文件时,切换到上一个文件

sudo权限强制写入::w !sudo tee % (!sudo - 执行shell命令sudo,tee - 将:w结果重定向,% - 当前文件)

:help <command>:显示命令帮助

:!<command>:执行一个Shell命令

:bash:启运一个shell而不退出vi。exit 命令后回到vim

:[n]:冒号后跟数字表示要到第几行,如果跟1,表示到文件头,如果跟$,表示到文件尾

Ctrl+G:可以显示当前行在整个文件的百分比

2. 模式切换

2.1 Normal模式 转 插入模式

i:在当前字符的左边插入
I:在当前行首插入
a:在当前字符的右边插入
A:在当前行尾插入
o:在当前行下面插入一个新行
O:在当前行上面插入一个新行

<C-V>c:输入特殊字符^C

<C-P>或<C-N>:自动补齐

2.2 插入模式 转 Normal模式

[ESC]

3. 移动命令

N<command>:重复某个移动或修改命令N次

h、j、k、l:左、下、上、右 移动

g[h、j、k、l]:让移动相对于屏幕显示的行数而不是vim内部的行数

3.1 行内移动

w:移动到下一个单词开头

e:移动到下一个单词结尾

b:移动到前一个单词开头

W/E/B:移动时单词以空格分隔,默认只包含字母、数字和下划线

0:移动到当前行首
^:移动到当前行的第一个非空字符
$:移动到行尾

g_:移动到当前行尾第一个非空字符

):移动光标到下一个句子,使用句号[.]或换行分隔
( :移动光标到上一个句子,使用句号[.]或换行分隔

3.2 文件内移动

G:到文件尾

[n]G:移动光标到指定的行(n)。(比如 10G 就是到第 10 行)
gg:到文件首

H:移动光标到屏幕上面
M:移动光标到屏幕中间
L:移动光标到屏幕下面

<C-F>:向下移动一屏
<C-B>:向上移动一屏

3.3 查找并移动

行内查找

使用[;]重复上一个 f/t/F/T 命令

fx:移动光标到当前行的下一个 x 处。x 可以是任意一个字母,而且你可以
tx:和上面的命令类似,但是是移动到 x 的左边一个位置(这真的很有用)
Fx:和 fx 类似,不过是往回找

Tx:和 tx 类似,往回找的 x 的右边一个位置

文件内查找

%:跳转到配对的括号

[[:跳转到代码块的开头去(但要求代码块中‘{‘必须单独占一行)

‘‘:跳转到光标上次停靠位置的行首字母处, 是两个‘, 而不是一个"

*:读取光标处的字符串,并且移动光标到它再次出现的地方。重复搜索按[n]
#:和上面的类似,但是是往反方向寻找。重复搜索按[n]

gd或gD:跳转到光标所在局部变量(或任意字符串)的定义处

/text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。重复搜索按[n]
?text:和上面类似,但是是反方向

4. 书签命令

ma:在当前光标的位置标记一个书签,名字为 a。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了。
`a:到书签 a 处。注意这个不是单引号,它一般位于大部分键盘的 1 的左边。
`.:到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它。

5. 修改命令

.:重复上一次修改命令

N<command>:重复某个移动或修改命令N次,还可以重复其他命令,如10iza[ESC],表示重复插入10次za。

u:撤销上次修改

U:撤销当前行的所有修改

<C-R>:(撤销后)重做上次修改

5.1 格式控制

>>:增加缩进,"x>>"表示增加以下x行的缩进

<<:减少缩进,"x<<"表示减少以下x行的缩进

合并下一行与当前行: J

5.2 剪切(删除)、复制、粘贴

*motion可以是任意移动命令,如^、$、G、w、fx

*剪切板(又叫寄存器[register]),[:reg]列出使用中的寄存器及内容,使用"ayy将当前行复制到寄存器a,使用"ap粘贴寄存器a的内容

d{motion}:剪切,把motion"掠过"的文本剪切到剪切板

c{motion}:剪切并进入插入模式

dd:剪切当前行

cc:剪切当前行并进入插入模式

D:剪切光标当前位置到行尾,类似于[d$]

C:剪切光标当前位置到行尾并进入插入模式,类似于[c$]

x:剪切当前字符. (类似于命令模式的退格(backspace)键)

s:剪切当前字符并进入插入模式

y{motion}:复制,同上

yy:复制当前行到剪切板

Y:复制行到剪切板,类似于[yy]

p:粘贴到当前位置之后

P:粘贴到当前位置之前

]p:和p相似, 但自动调整粘贴代码的缩进

]P:和P相似, 但自动调整粘贴代码的缩进

5.3 查找替换

:%s/word1/word2/g:全文搜索word1并以word2替换之

:[n],[m]s/word1/word2/g:仅在第a行到第b行间搜索并替换

字符串查找时,”\n” 是换行,”\r” 是回车,也就是经常会看到的 ^M。

字符串替换时,”\r” 是换行,’\n” 是空字符(0×00)

删除空行:g/^\s*$/d

6. 可视化操作

选择文本

v:字符选择
V:行选择
<C-V>:块选择,可以选择任意矩形块

操作

d/c/y:删除或复制

gu或gU:全变小写或大写

J:连接所有行

>或<:左右缩进

=:自动缩进

实例

^ 选择 Ixx[ESC]:行首插入

选择 Ixx[ESC]:块前插入xx

选择 Axx[ESC]:块末插入xx

选择 $ Axx[ESC]:行末插入

7. 区域选择

<action> [n] a/i <object>:选择object所指目标范围内的n重内容,如单词、句子、括号()、[]

<action>:d - 删除,y - 拷贝,v - 可视化选择

a/i:a - 包含object,i - 不包含object

<object>:w - 单词,W - 空格分隔单词,s - 句子,p - 段落,"/‘/)/}/] - 括号或引号

8. 宏命令

qa:开始录制宏并保存在寄存器[a]
q:结束录制
@a:回放存在寄存器a的宏

@@:回放最新的宏

实例

qaYp<C-A>q [email protected]@:将1行"1"变成101行数字序列:1\r 2\r 3\r ... 101

9. 分屏

vim -On file1 file2 ...:打开若干文件,并垂直分屏

vim -on file1 file2 ...:打开若干文件,并水平分屏

:new:创建空白水平分屏

:vsplit(:vsp) <file>:创建垂直分屏,并打开文件<file>,默认为当前文件

:sp(split) <file>:创建水平分屏,并打开文件<file>,默认为当前文件

基本都是<C-W>然后加上某一个按键字母,触发一个功能

<C-W> c/q或:q:关闭当前窗口

<C-W> o或:only:关闭所有其他窗口

<C-W> s/v:水平/垂直分屏当前文件

<C-W> h/j/k/l:移动光标到左/下/上/右边分屏

<C-W> w:移动光标到顺序下一个分屏

<C-W> H/J/K/L:移动分屏到左/下/上/右边

<C-W> =:所有分屏大小相等

<C-W> +/-:增加/减少分屏高度

<C-W> >/<:增加/减少分屏宽度

10. 系统设置命令

在Normal模式下使用[:set xxx]设置开启,使用[:set noxxx]设置关闭,也可写在~/.vimrc文件中(文件中不要冒号[:])

syntax enable

syntax on

set ic                  "忽略大小写(ignore case)

set noic               "不忽略大小写

set nu               "显示行号     

set hlsearch

set expandtab      "设置tab

set shiftwidth=4   "设置tab的间隔 
set ts=4               "四个空格代表一个tab(tabstop)

set ai                   "设置自动缩进(autoindent)

set ls=2               "总是显示文件名(也可以用 Ctrl+G 或 :f)

时间: 2024-10-17 18:00:24

Vim 命令整理的相关文章

Vim命令整理

1. 移动光标 hjkl 2.删除字符 x 3.插入字符 i 4.删除一个单词 de 不包括空格 dw 5从光标处删除到末尾 d$ 6删除整行 dd 前面加入数值可以删除多个 比如2dd删除两行 2de删除两个单词 撤销命令 u 撤销整行 U 恢复撤销 CRTL+R 粘贴 p 替换单词进入插入状态 cw c的指令使用方式和d是类似的  都是数字+c+(e w $ d) 相当于 d+a的组合 调到文件开头和末尾 shift+g shift+G 显示文本信息 CTRL+g 查找某个固定的字符 /正向

linux常用命令整理(五):shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

linux常用命令整理(四):软件包管理和shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

常用 vim 命令总结

学习 vim ,是需要经常使用的,而这些命令,是我这段时间最常用的命令,很有效率的提高的我的文本编辑效率.------------------------------------------------------------------------A1.文本整理类A2.格式设置A3.编辑技巧A4.剪贴板技巧(用 Ditto 更方便)A5.文件浏览A6.标志和移动A7.杂项--------------------------------------------------------------

vim 基本命令整理

VIM 基本命令 离开 vi ZZ :wq :x 先存档再离开 :w 档名 存成他档 :q 离开 (档案有改会提示) :q! 放弃编辑,直接离开 :wq! 强制存档,并离开 暂时离开 vi :! 暂时执行一下UNIX指令 :sh 产生新shell, Ctrl + d 回原编辑处 Ctrl + z ?? 回上一个shell, 用fg指令回vi 插入/命令模式的切换 ESC键 插入模式 --> 命令模式 在命令模式下的指令 a 在游标右边插入文字 i 在游标处插入文字 o 在游标下方增加新列 A 在

5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践

5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 扩展 vim的特殊用法 http://www.apelearn.com/bbs/thread-9334-1-1.html vim常用快捷键总结 http://www.apelearn.com/bbs/thread-407-1-1.html vim快速删除一段字符 http://www.apelearn.com/bbs/thread-842-1-1.html vim乱码 http://www.apelearn.com/bbs/thr

Vim命令合集

来源:Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ... 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一

[转载]VIM命令合集

Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ..

Linux CentOS7 中vim命令的使用

一. vim介绍 vim 是vi 的升级版本:可带颜色显示 1. 安装vim yum install -y vim-enhancedvim /etc/passwd 2. 三种模式: 一般模式:dd p yy  编辑模式:编辑文件内容 命令模式::/ ? 二. vim颜色显示和移动光标 1. vim 可以根据文件的路径和名字显示颜色 cp /etc/passwd /tmp  vim /tmp/passwd 查看就无颜色 /etc 下会显示颜色,是他的特性.cp /etc/fstab /tmpvim