vim-1-基本使用

------------------------------------------------------------------------------------

gvim的四种模式:普通模式,插入模式,替换模式,命令模式。

普通模式》插入模式

i/I 在光标前面/行首插入

a/A 在光标后面/行尾插入

o 在下一行行首插入

O 在上一行行首插入

s 删除光标所在字符并开始插入(具体用法看x)

c 开始删除,之后进入插入模式(具体用法看d)

插入模式和在windows下一样,各种快捷键都能用

另外,在普通模式下,ctrl+s依然是保存

普通模式》替换模式

r:替换光标所在的字符

数字r:将光标所在向后n个字符都替换掉

R:从光标所在字符开始替换,按esc回到普通模式

普通模式》命令模式: 按:

插入模式,命令模式》普通模式:按esc

注:我将插入/替换模式的esc映射成kk了,在插入/替换模式下按kk即可返回普通模式

------------------------------------------------------------------------------------

普通模式:进入gvim后的默认模式

--------------------------------------------------

移动:

h j k l:左下上右移动

数字 h j k l:左下上右移动n下

w/e:移动到下一个单词开头/结尾

b/B(ge):移动到上一个单词开头/结尾

f/t a:在当前行,移动到下一个出现a的位置/前

F/T a:在当前行,移动到上一个出现a的位置/前

数字f/t a:在当前行向后移动到第n次出现a的位置/前

数字F/T a:在当前行向前移动到第n次出现a的位置/前

0/$:定位到行首/行尾

^/g_:定位到非空格的行首/行尾

%:在两个匹配的符号((,",{)等等中切换(光标需先移动到其中一个符号,

如果不在,则会向后找到最近的一个)

数字%:按照百分比定位文档 的位置

G:定位到最后一行行首

行号G:定位到对应行号行首

gg:移动到第一行行首

H:定位到当前屏幕的最上边

M:定位到当前屏幕的中间

L:定位到当前屏幕的最下边

ctrl+u/d:向上/下滚动半屏

ctrl+f/b:向上/下滚动整屏

zz:把当前行置为屏幕正中间

J:将下一行移动到这一行末尾(合并当前行和下一行)

关于数字键: 数字+命令表示执行多次操作, 数字一般放在命令之前.

>>/<<:当前行增大/减小缩进

==:当前行自动进行缩进

``:反单引号,在两个跳转点之间切换,如果你原先处在33行,跳到了55行,

使用这个命令可以回到33行,多次使用就是来回切换,

注:j,k导致的跳转不可,并且需要是不在同一行内的位置间的切换

ctrl+o/i:跳转到上一次/下一个光标停留位置(不在同一行内,且不是hjkl导致的光标移动)

--------------------------------------------------

查找:

/xxx:在全文中查找xxx,并高亮显示,字符.*[]^%/?~$ 有特殊意义,需要用\转义

?xxx:和/效果一样,只是查找方向反向

N/n:在高亮的选中处之间前后切换,前面可以加数字,表示第n次出现的位置

vim会记录已经查找过的内容,再次查找时,可通过上下键来切换

#/*:移动到上一个/下一个与光标所在单词相同的单词

/\<xxx\>:匹配完整的单词,如果某单词中只是包含xxx,不会被匹配上

模式搜索(正则表达式搜索):

^ 表示一行的开头,$ 表示一行的结尾,^the就表示位于行首的the

. 表示任意字符,如果想查找的就是. ,则需要转义

一个有用的命令

:nohlsearch,此命令可以取消当前的高亮, 简写 nohl

--------------------------------------------------

复制,剪切,删除,粘贴:

在vim中,剪切和删除是一样的

下列命令中其实是没有中间的空格的,这里只是为了方便阅读

注:几乎所有的移动,复制,粘贴命令前面都可以加数字,表示重复的次数,

也几乎都可以加上移动键,表示向某个方向复制/剪切

y:开始复制

yy/Y:复制当前行

行号yy:从当前行开始,复制多行

y 0/$:从光标处复制到本行开头/末尾

y w/e:复制一个单词,或从光标处复制到本单词末尾

yt a:从光标出开始复制,直到遇见a,a不复制

yG:从当前行开始复制直到最后一行

yyg:从当前行开始复制直到第一行

x:剪切/删除光标所在的字符,依然停留在普通模式

X:删除当前光标左边的字符

数字 x:剪切/删除从光标开始往后的n个字符,依然停留在普通模式

d:开始剪切/删除(用法和y类似,不多说了)

dd:剪切整行

D:剪切至行尾的内容(这点和y不一样)

p:粘贴复制/剪切的内容到光标后面,如果是整行的,则粘贴到当前行的上面

P:粘贴复制/剪切的内容到光标前面,如果是整行的,则粘贴到当前行的下面

数字p/P:粘贴多次

ddp:其实就是删除当前行再粘贴了,但是你会发现,当前行和下一行换位置了

xp:其实就是删除当前光标所在字符再粘贴,但是你会发现,两个字符交换位置了

.:普通模式中重复上次的命令,除了u命令,这个只能重复最近的一次命令

比如先搜索出全文中的xxx,然后cwyyy,表示修改成yyy,然后回到普通模式,

n.n.n.一直按,之后的xxx都会变成yyy,cwyyy这个命令就会一直重复

--------------------------------------------------

文本对象

之前的复制和删除都是以字符,行为单位,w,e的作用是从光标处到下个单词开头

或本单词结尾,所以要想删除整个单词,还得先将光标移动到单词开头,这很麻烦,

可以使用文本对象搞定

aw:a word,表示一个单词,及其后面的空白,daw表示删除光标所在单词及空白

iw:inner word,也是表示一个单词,但是不包括单词后面的空白

as:a sentence,表示一个句子,及其后面的空白,das表示删除光标所在句子及空白

is:inner sentence,也是表示一个句子,但是不包括句子后面的空白

--------------------------------------------------

可视化选择:

v:可视化选择,按esc或再次按v退出,选择的内容会被复制

在可视化选择模式中,移动键,数字键,都是可以使用的

V:整行可视化选择

ctrl+q:块可视化选择,其实应该是ctrl+v,但是windows里这个是粘贴,所以不能用

gg,然后ctrl+q(ctrl+v),然后按G,就可以选择文本的第一列

o:在(块)可视化选择状态下,使光标移动到选择区域的另一头

O:在块可视化选择状态下,使光标移动到这一行的另一头

--------------------------------------------------

宏:

按q键开始录制宏,一般跟上寄存器的名字,寄存器可使用26个英文字母

如qm,表示将宏录制到m寄存器中,

然后进行一系列操作,都会被记录下来,再次按q,退出宏录制,

按@m表示播放m寄存器中的宏,前面可以加数字表示播放次数,

按@@表示播放之前播放过那个个宏,

--------------------------------------------------

自动补全:

ctrl+p:牛逼到爆

----------------------------------------------------

剪切板:

y, d, c, x等等命令都是将内容存进了vim的剪切板, 如何和windows的剪切板交互?

在这些命令之前加 "* , 即可

--------------------------------------------------

其他:

u:撤销上次操作, U: 行撤销, 可以撤销所有在最近行上的编辑操作.

ctrl+r:恢复上次操作(ctrl+y也可以,但它是windows中的快捷键)

ctrl+l:有时候vim中的有些文字会花掉,此快捷键可以刷新视图

gU/gu:将选中的内容转化为大/小写

ctrl+p:自动补全之前编辑过的单词,词组

ZZ:退出当前编辑的文件

------------------------------------------------------------------------------------

命令模式

--------------------------------------------------

一般命令:

命令模式前面都有个":"这里就省略了

w:保存不退出

wq/x: 保存退出

q/q!:不保存退出/强制不保存退出

e!:放弃所有修改,载入文件的初始状态,慎用!

pwd: 显示当前目录

!shell指令:执行shell(dos)指令

r!shell指令:将shell(dos)指令的执行结果写到当前行的下面

在命令模式里按上下箭头可以切换之前输入的命令

--------------------------------------------------

编辑多个文件:

e/edit 文件路径:在当前标签页中打开文件,路径中使用/或\都可以,

可使用tab键自动补全文件名。也可以一次打开多个文件,文件路径中间以空格隔开

previous/next:切换到上一个/下一个打开的文件

wprevious/wnext:保存当前文件,然后切换到上一个/下一个打开的文件

bp/bn:在当前标签页中切换上一个/下一个文件

vim -R filename, 以制度方式打开

--------------------------------------------------

分割窗口:

split:在当前窗口上方分割一个窗口,新窗口中依然是当前文件

new:分割出新的空窗口

split filepath:在新窗口打开文件

new filename:在新窗口中编辑文件

split,new命令都可以在前面加上数字,表示新窗口的高度(行数)

ctrl+w w:在两/多个窗口键切换

ctrl+w +/ctrl+w -:当前窗口扩大/缩小一行,前面可以加数字,表示扩大/缩小多行

数字 ctrl+w _:将窗口变为指定高度

:close/:q/ZZ:都可以退出当前窗口

only:关闭其它所有窗口,只保留当前窗口

wall, 全部保存, qall, 全部关闭

CTRL-W h 到左边的窗口

CTRL-W j 到下面的窗口

CTRL-W k 到上面的窗口

CTRL-W l 到右边的窗口

CTRL-W t 到顶部窗口

CTRL-W b 到底部窗口

ctrl-w H,J,K,L, 左右上下移动窗口

--------------------------------------------------

标签页

一般来说tabe,tabedit,tabnew的作用是一样的,下面都用tabe,除非有特殊情况

tabe:打开新的标签页

tabe e:/xxx:在新标签页中打开文件

tab:后面跟可以打开新窗口的命令(如 help),在新标签页打开新窗口,如 tab help

--------------------------------------------------

替换:

[range]s/from/to/[flags],表示将range范围的from替换成to,flags匹配范围

s/aaa/bbb/:表示把当前行的第一个aaa替换成bbb,不指定flag就只替换第一个

%s/aaa/bbb/g:把全文中的所有aaa替换成bbb,g的意思是指全部匹配的

行号1,行号2s/aaa/bbb/g:把行号1和行号2之间的aaa替换成bbb

行号1,行号2s/^/aaa/g:把行号1和行号2之间的行前面都加上aaa(即,可以使用正则)

另外,.代表当前行,$  表示最后一行

行号1,行号2s/^/\/\//g:从行号1和行号2之间的行都加上//注释(这是因为/有特殊用途,需要转义)

行号1,行号2s/\/\//g:从行号1和行号2之间的行都去掉//注释

另一种转义的方法是,使用+代替/,/正常使用,如 4,8s+aa/bb+aa or bb+

--------------------------------------------------

定位

以下命令执行后都会返回普通模式

G:定位到最后一行

行号:定位到对应行号

行号1,行号2d:删除从行号1到行号2的内容

行号1,行号2>>:从行号1到行号2向右移动一个tab

行号1,行号2>>:从行号1到行号2向左移动一个tab

/xxx:在全文中搜索xxx,并高亮显示,按 n 键可在选中处间切换

------------------------------------------------------------------------------------

来自为知笔记(Wiz)

附件列表

vim-1-基本使用,布布扣,bubuko.com

时间: 2024-08-04 14:18:36

vim-1-基本使用的相关文章

vim选中字符复制/剪切/粘贴

问题描述: vim 中选中指定字符,进行复制/剪切/粘贴 问题解决: 进入vim中visual模式,visual模式进入,可以有三种方式: (1)在普通模式(normal)下,直接按键 v  就可以进入默认visual模式,可以使用v+j/k/h/l 进行文本选择 注: 使用normal模式下的  v命令,进入visual模式,v+ j/k/h/l   进行文本选中 对于选中的文本进行如下按键: (1.1)d   ------ 剪切操作 (1.2)y   -------复制操作 (1.3)p  

vim复制,粘贴,剪切文本

vim编辑器 引用文本: ------------------------------------------------------------------------------------------------------------------ 时常自我反省,敏感的思想家 你对于自己及四周的环境能够比一般人控制得更好更彻底. 你讨厌表面化及肤浅的东西:你宁愿独自一人也不愿跟别人闲谈,但你跟朋友的关系却非常 深入,这令你的心境保持和谐安逸. 你不介意长时间独自一人,而且绝少会觉得沉闷.

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快捷键 普通模式 [行间跳转] gg 游标移动到到第一行 G 游标移动到最后一行 nG 游标移动到第 n 行 Ctrl + o 快速回到上一次(跳转前)光标所在位置 Shift+zz 普通模式下输入即可保存退出vim [行内跳转] w 到下一个单词的开头 e 到下一个单词的结尾 b 到前一个单词的开头 ge 到前一个单词的结尾 0 或 ^ 光标跳转到行头 $ 光标跳转到行尾 f 字母 向后搜索<字母>并跳转到第一个匹配的位置 F字母 向前搜索<字母>并跳转到第一个匹配的位置

linux基本命令整理(三):进程和vim

linux基本命令整理(三) -----------进程和vim 一.进程 1.查看进程 ps:将某个时间点的程序运行的状况截取下来 a:所有的进程 x:后台进程 u:有效的使用者相关的进程(常用组合aux) -IA:也能观察系统所有的数据 axjf:连同部分的程序树状态 -I:今查看和自己bash相关的程序 top:动态的观察进程的变化 -d:后面接描述,就是整个页面刷新的时间:默认是5秒 -b:以批次的方式执行top -n:与-b搭配使用,意义是需要进行几次top的输出结果 如:top -b

secure CRT设置vim显示颜色

第一步:确定是否安装vim-enhanced.基本上都是会安装好的. 第二步:将Emulation下的Terminal设置为Xterm,然后选中后面的两个复选框. 第三步:将外观下的主题设置为Traditional,字体设置为如下. 第四步:如下进行断开连接. 第五步:如下进行再次连接,登陆即可. 接下来,用vim随便打开一个文件. 如上所示,至此.设置成功.

8. vim编辑器高级应用

1. vim主要模式介绍 命令模式.命令行模式.编辑模式 字符操作:i 当前插入, I行首插入, a当前字符之后插入,A行首插入, ESC退出当前模式 2. vim命令模式 3. vim插入模式 4. vim可视化模式 5. vim开发环境 6. gedit a.exe &

Vim命令合集

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

vim编辑器详解

一.vim简介 vi: Visual Interface,文本编辑器 文本: ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器: nano, vi vim – Vi Improved 其他编辑器: gedit 一个简单的图形编辑器 gvim 一个Vim编辑器的图形版本 二.常见使用方法: vim [OPTION]- FILE- 文件操作: 打开文件: +#: 打开文件后,直接让光标处于第#行的行首 +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹

vim编辑器讲解

--vim编辑器讲解(vim(vi的升级版),推荐vim) 打开文件(如果该文件不存在,则创建之后,保存,从内存写到硬盘上,不保存,则删除掉该文件) vim filename vim编辑器有3中模式:命令模式,插入模式,尾行模式. 命令模式:刚进入文件的时候开始的状态.u为撤销键 命令模式进入插入模式:可以通过快捷键 i(当前光标位置插入) I(本行的开头) a(当前光标位置之后) A(当前光标所在最后) o O 插入模式返回命令模式:ESC 插入模式:主要用来编辑文本的. 尾行模式:主要用来,