Gvim常用命令

Vim常用命令

光标移动:
w    :光标以单词向前移动 nw:光标向前移动n个单词 光标到单词的第一个字母上
b    :与w相反
^    :移动光标到行首第一个非空字符上去
$    :移动光标到行尾第一个非空字符上去
%    :移动到与制匹配的括号上去(),{},[],<>等。
nG    :跳转到第n行。

可视模式
v        :可视模式
V        :选择行
CTRL-V or CTRL-Q    :选择块

文本操作

复制操作


y    :复制选择的内容
ye    :复制一个单词
yy    :复制一行

yy   命令复制当前整行的内容到vi缓冲区
yw   复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词
y$   复制光标所在位置到行尾内容到缓存区
y^    复制光标所在位置到行首内容到缓存区
#yy  例如:5yy就是复制5行
#yw  例如:2yw就是复制两个单词

如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如:3,5y复制第三行到第五行内容到缓存区。


p    :粘贴
x    :可视模式下,x为剪切选择内容
viw    :选中光标当前所在处的单词
yiw    :复制光标当前所在处的单词

vi下的复制方法
方法一:先ma标记当前位置为a,移动到新的位置,再y`a或者y’a复制从标记位置a到 当前位置的内容。`和’的区别:`以字符为单位,’以行为单位。这个方法应该是所有vi 都适用的。

选择寄存器复制内容
这有点复杂.把这节拿出来,多看几遍;还有,一定要多做实验.
“< 字母>yy可以把一行文本拷贝到寄存器中(这里的寄存器是vi的术语,指可以存放剪切和 拷贝下来的东西的地方), <字母>里面的字母必须是a到z之间的一个. “<字母>dd可以把 一行剪切下来放到寄存器里面. 你可以在yy或者dd前面用数字指明要拷贝或者剪切的行数.如果<字母>中的字母是大写的话,意味着把文本插入到寄存器中已有的文本之前. “<字母>p把文本插入到光标之后,”<字母>P把文本插入到光标之前.如果寄存器中含有某一行的开头或结尾,这一行将会被放到另一合适的行. Y是yy的快捷方式. 还有, y$, yH, yM,等等,都是可以用的.d命令也是一样的.如果要快速的剪切和粘贴, 你就无须指定寄存器了.如果这样的话,你就不能往寄存器里面添加文本了.而且只要有一个删除命令的话, 寄存器中的东西就没有了(包括x命令). 举例来说,如果要移动上一段的话,你可以把光标 移到段落的开头,敲”a13dd,再把光标移到你想要放文本的地方,敲”ap,就可以把那段文本放到光标所在的行后面. 现在,大概你想要剪切和粘贴文本到不是行末尾的区域去.我们 来看如何做到这一点:我们可以使用 m<字母> 命令来标记一个区域,这个字母可以和 剪切/粘贴寄存器的字母相,因为它们是保存在内存中的不同位置. 然后, 敲”<寄存器>`<字母>[yy或者dd], 这里的寄存器就是要保存文本的那个寄存器,<字母> 是用来标记的,yy和dd是你的操作.

~    :修改光标下字符的大小写,并移动到下一个字符。这不是一个操作符 (除非设置了 ’tildeop’),所以你不能连接一个动作命令。这个命 令在可视模式下也有效,它会改变被选中的所有文本的大小写。
I    :移到当前行的第一个非空字符并启动插入模式
A    :移动到行尾并启动插入模式

o    :在当前行的下面另起一行
O    :在当前行的上面另起一行

 

删除操作(命令模式使用)
  x删除光标处的单个字符
  dd删除光标所在行
  dw删除当前字符到单词尾包括空格的所有字符
  #x例如3x删除光标处向右的三个字符
  #dd例如3dd从当前行开始向下删除三行文本

 

dw    :删除一个单词,需将光标移到单词的第一个字母上,按dw,如果光标在单词任意位置,用daw
dd    :删除一行
cw    :修改一个单词
dtx    :从光标所在处开始,删除到”x”。
d/text    :删除从文本中出现”text”中所指定字样的位置, 一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容

cc    :改变整行
C$    :改变到行尾

shift + < 左移一行
shift + > 右移一行

<%或>%    :来将{,(或[等符号括起来的文本都左移或右移;这时候,你必须把光标放在这些符号({,(或[)上面.

u        :undo
CTRL+R    :re-do
J        :合并一行
CTRL+p     :自动完成功能(在输入模式使用)
CTRL+g    :查看当前文件全路径

:n1,n2 co n3         :将 n1 行到 n2 行之间的内容拷贝到第 n3 行下。
:n1,n2 m m3         :将 n1 行到 n2 行之间的内容移至第 n3 行下。
:n1,n2 d             :将 n1 行到 n2 行之间的内容删除。
:n1,n2 w filename     :将 n1 行到 n2 行之间的内容保存到文件 filename 中

使用剪贴板 
"*y    :将内容复制到剪贴板
"*p    :将剪贴板的内容粘贴出来

存盘:
:q!         :不存盘退出
:e!         :放弃修改文件内容,重新载入该文件编辑
:wq         :存盘退出
:w            :存盘
:browse o    :用浏览器打开文件
:browse w    :用浏览器保存文件
:wqa        :保存并关闭所有文件
:qa            :关闭所有文件
:browse wa    :用浏览器保存所有文件

u: 撤销前一次的操作

ZZ:保存当前文档并退出VIM

帮助
:help             :查看帮助文档,在这之中,按CTRL+] 进入超连接,按CTRL+O 返回。
:help subject     :看某一主题的帮助,ZZ 退出帮助
:help {主题}    :例如,要获得 “x” 命令的帮助,输入如下命令:
:help x
:help CTRL-A

查找
fx             :移动到一个指定的字符,单字符查找命令是最有用的移动命令之一。”fx” 命令向前查找本行中的字符 x。提示:”f” 表示 “Find”。

/pattern    :正方向搜索一个字符模式
?pattern     :反方向搜索一个字符模式
然后按n 继续向下找

精确查找整个单词    :如果你输入 “/the”,你也可能找到 “there”。要找到以 “the” 结尾的单词,可以用:
/the\>
“\>” 是一个特殊的记号,表示只匹配单词末尾。类似地,”\<” 只匹配单词的开头。 这样,要匹配一个完整的单词 “the”,只需:
/\

把光标放到某个单词上面,然后按*号键,表示查找这个单词。”#” 命令在反向完成相同的功能。
查找整个单词:/\

:set hlsearch         :高亮显示查找到的单词
:set nohlsearch     :关闭改功能

查找替换:
way1:
/【word】 :查找某个word
? 命令功能与 “/” 的功能类似,但是是反方向查找
cw【newword】:替换为新word
n: 继续查找
.: 执行替换

way2:
:s/string1/string2/g:在一行中将string1替换为string2,g表示执行 用c表示需要确认
:num1,num2 s/string1/string2/g:在行num1至num2中间将string1替换为string2
:1,$ s/string1/string2/g:在全文中将string1替换为string2
如果替换时需要确认,在g后面加上一个c(confirm)
如果要全文搜索,在”s/”前面加上一个%,例如”:% s/”

书签
m[a-z]    :在文中做标记,标记号可为a-z的26个字母,用`a可以移动到标记a处
“        :最后编辑的位置
:marks    :你可以用如下命令取得所有的标记的列表:

r:替换当前字符
nr字符:替换当前n个字符

分割窗口
:split            :分割一个窗口
:split file.c     :为另一个文件file.c分隔窗口
:nsplit file.c    :为另一个文件file.c分隔窗口,并指定其行数
CTRL+W            :在窗口中切换
:close            :关闭当前窗口

写文件
:n1,n2 write temp.c 将本文件中的n1,到n2行写入temp.c这个文件中去

宏命令
q[a-z] 开始记录但前开始的操作为宏,名称可为【a-z】,然后用q终止录制宏。
用reg显示当前定义的所有的宏,用@[a-z]来在当前光标处执行宏[a-z].

设置
前提操作:如果你不知道你的 vimrc 在什么地方,可以使用如下命令
:scriptnames                :确认设置文件的路径。
:set nocompatible            :与Vi兼容

:set ruler                    :总在 Vim 窗口的右下角显示当前光标位置。
:set showcmd                :在 Vim 窗口右下角,标尺的右边显示未完成的命令。例如,当你输入 “2f”,Vim 在等你输入要查找的字符并且显示 “2f”。当你再输入w,”2fw” 命令被执行,”2f” 自动消失。
:set incsearch                :在查找模式输入完前显示匹配点。
:map Q gq                     :这定义一个键映射。下一节会介绍更多的相关内容。这将定义 “Q” 命令用来完成与 “gq” 操作符相同的功能,这是在 Vim 5.0 版前 “Q” 命令的作用。如果没有设置这个映射, “Q” 会启动 Ex 模式,这也许不是你想要的情况。
:set number / set nonumber     :显示/不显示行号
:set ruler /set noruler        :显示/不显示标尺
:set sy on                    :设置语法高亮
:set colo {theme}            :设置主题颜色
:set guifont=Courier_New:h10:cANSI    :设置字体
:set tabstop=4                        :设置tab键的宽度
:set nobackup                        :不要备份
:set nowritebackup                    :不要备份
au GUIEnter * simalt ~                :界面最大化

简单键盘映射
:map    :查看当前系统的键盘映射。

映射可以使你把一系列 Vim 命令绑定为一个单键。假设你要用一个大括号将一个特定的 单词括起来。例如,把 “amount” 变成 “{amount}”。用 “:map” 命令,就可以让 F5 来 完成这个工作。命令如下:
:map i{ea}
Note:
在输入这个命令时, 要用四个字符表示。相似地,输入 不是直接按 键,而是输入五个字符。在读这份手册要注意这些区别!

让我们来分解一下这个命令:
        F5 功能键。这是命令的触发器。当这个键被按下时,相应的命令即被 执行。
i{     插入 { 字符。 键用于退出插入模式。
e           移动到词尾。
a}     插入 } 到单词尾。

执行 “:map” 命令后,要在单词两端加上 {},只需要移到单词上的第一个字符并按 F5。

在这个例子中,触发器是一个单键;它还可以是任何字符串。但若你使用一个已经存在 的 Vim 命令,该命令将不在有效。所以你最好避免出现这种情况。 一个可用于映射的键是反斜杠。因为你很可能想定义多个映射,那就加上另一个字符。
你可以映射 “\p” 为在单词两端加园括号,而映射 “\c” 为加花括号,例如:

:map \p i(ea)
:map \c i{ea}

你需要在敲入\后,立即敲入p,以便 Vim 知道它们组成一个命令。
如果组合键中间有CTRL,就要缩写为C,例如CTRL-Tab要写成

常用选项

Vim 中有很多选项。大部分你很少用得上。我们在这个介绍一些常用的。别忘了你可以 通过 “:help” 命令获得更多的帮助。方法是在选项命令前后加上单引号,例如:
:help ‘wrap’

如果你搞乱了一个选项,你可以通过在选项后加上一个 & 号把它恢复到默认值。例如:
:set iskeyword&

禁止折行
Vim 通常会对长行自动换行,以便你可以看见所有的文字。但有时最好还是能让文字在一 行中显示完。这样,你需要左右移动才能看到一整行。以下命令可以切换换行方式:
:set nowrap

当你移到到那些不能显示的文字上,Vim 会自动向右滚动让你看到后面的文字,要一次滚 动十个字符,这样就行了:
:set sidescroll=10

这个命令不改变文件中的文字,只改变显示方式。

Tab操作
tabs            :查看当前打开的tab的文件路径。
tabnew            :新建tab。
tabnext,gt        :切换到下一个tab。
tabprevious,gT    :切换到上一个tab。
tabclose        :关闭当前tab。
tabfirst        :切换到第一个tab。
tablast            :切换到最后一个tab。
tabrewind        :切换到上一个激活过的tab。

批量注释
移动光标到需要注释掉的第一行开头,然后按Ctrl-v(如果使用了VIM的mswin.vim,则Ctrl-v表示粘贴,这时需要用Ctrl-q代替)进入Visual blockwise模式,这个模式是Visual mode的一种,相当于UltraEdit中的块选择。然后按j选择上所有需要注释行的行首(看起来效果是选择了第一列),输入I//再按ESC就可以在每一行开头插入//了。

折叠文本
zf    :折叠你选中的文本。
zd    :展开你光标所在处的折叠文本。
zD    :展开所有折叠的文本。

缩写
VI/VIM支持用一个缩写字符串代替一个长的字符串,比如 :ab hw hello world, 然后在Insert mode下输入“hw ”(不包括引号)后VIM就自动替换成了“hello world”。

制作帮助
把帮助文件放到\vim\vim~\doc\文件夹中
文件必须是.txt文件,文件首必须是”*filename*”,例如:*usual_command.txt*
在文件中添加关键字,例如”*usual*”,然后在Vim中通过:help usual打开帮助文件
在vim中,执行:helptags ~vim\doc

你可能感兴趣的:(Linux)