首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VIM 常用快捷键

而且写文件、查找翻页什么 比我用鼠标快多了,那熟练快捷键看我一愣一愣 ---- 光标移动: h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上一行; gj: 移动到一段内一行...; gk: 移动到一段内一行; +或Enter: 把光标移至下一行第一个非空白字符。...ctrl+e: 向下滚动一行。 ctrl+y: 向上滚动一行。 n%: 到文件n%位置。 zz: 当前行移动到屏幕中央。 zt: 当前行移动到屏幕顶端。 zb: 当前行移动到屏幕底端。...插入: I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename...在当前位置插入另一个文件内容。

23.3K22

Vim命令使用说明

; k: 上一行; gj: 移动到一段内一行; gk: 移动到一段内一行; +或Enter: 把光标移至下一行第一个非空白字符。...w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...ctrl+e: 向下滚动一行。 ctrl+y: 向上滚动一行。 n%: 到文件n%位置。 zz: 当前行移动到屏幕中央。 zt: 当前行移动到屏幕顶端。...如果想跳转到更老位置,可以按C-o,跳转到更新位置用C-i。 `": 移动到上次离开地方。 `.: 移动到最后改动地方。 :marks 显示所有标记。...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename在当前位置插入另一个文件内容

2.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

vim常用命令详解(vim使用教程)

运行结果如下 所有黑色背景为完全相同地方,红色背景为完全不同地方,蓝偏绿色背景为与另一个文件相比增加地方,其他我也不太清楚 -h 显示vim用法 -m 你可以在打开窗口中更改,但你无法对你更改后文件进行保存...使用/进入末行模式主要用来查找字符串,在下面进行详细解释 正常模式必要命令详解 h #左移一个字符 l #右移一个字符 j #下移一行 k #上一行 dd #删除一整行...0 #移动到行首 g0 #移动到当前屏幕行首 H #把光标移动到屏幕最顶端一行 M #把光标移动到屏幕中间一行 L #把光标移动到屏幕最底端一行 gg #移动到文件头部...位置 zz #当前行移动到屏幕中央 zt #当前行移动到屏幕顶端 zb #当前行移动到屏幕底端 末行模式常用命令详解 :q #退出当前文件且不保存,q为quit缩写 :q.../gic #目标字符替换为 替换字符 ,%代表所有行,最后g代表全局替换,i代表忽视大小写,c代表每个替换都需要用户确认才可以 :1,4 s/目标字符/替换字符/g #一行到第四行

3.1K30

Linux-vim

2. vim常用命令 2.1 一般模式命令 2.1.1 光标移动 命令 说明 h,← 光标左移一个字符 j,↓ 光标下移一个字符 k,↑ 光标上一个字符 l,→ 光标右移一个字符 n[h,j,k,...M 光标移动到屏幕中央一行第一个字符 L 光标移动到屏幕最后一行第一个字符 G 光标移动到文件最后一行 nG n为数字,光标移动到文件第n行 gg 光标移动到文件第一行,相当于1G n<Enter...复制光标所在行到第n行 yG 复制光标所在行到最后一行 y0 复制光标所在字符到该行行首 y$ 复制光标所在行到该行行尾 p 复制数据粘贴在光标下一行 P 复制数据粘贴在光标上一行 J 光标所在行与下一行数据合并成一行...强制保存并离开 ZZ 若文件没有改动,则不保存离开,如果文件有改动,则保存后离开 :w[filename] 文件另存为filename :r[filename] 在光标处插入另一个文件数据 :n1,...set all 显示所有环境参数设定 :set 显示所有与系统默认不同环境参数设定 :set nu:set nonu 显示行号取消显示行号 :set hlsearch:set nohlsearch

6.2K11

Linux命令之vim三种模式

,并且光标移动到指定行 vim +/关键词 文件路径 作用:打开指定文件,并且高亮显示关键词 vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件 三、命令模式 注意:该模式是打开文件第一个看到模式...或V(可视行)或v(可视),然后按下↑↓← →方向键来选中需要复制区块,按下y键进行复制,最后按下p键粘贴 3、剪切/删除 ①剪切/删除光标所在行 按键:dd (删除之后下一行) 注意:dd严格意义上说是剪切命令...②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定行 按键:数字dd (删除之后下一行) ③剪切/删除光标所在的当前行之后内容,但是删除之后下一行不上 按键:D (删除之后当前行会变成空白行...测试步骤:在两个配置文件针对同一个配置项设置不同 ①先在全局配置设置不显示行号,在个人配置文件设置显示行号,观察结果 最后显示行号:说明以个人为准 ②先在全局配置显示行号,在个人中设置不显示行号...,观察结果 最后显示是不显示行号,说明以个人为准 结论:如果针对同一个配置项,个人配置文件存在,则以个人配置文件为准,如果个人配置文件不存在这一项,则以全局配置文件为准。

3.2K20

IdeaVim 基本操作

k 上一行 +或Enter 把光标移至下一行第一个非空白字符 – 把光标移至上一行第一个非空白字符 w 前一个单词,光标停在下一个单词开头 e 前一个单词,光标停在下一个单词末尾 b 后移一个单词...移动到行首 $ 移动到行尾 ^ 移动到本行第一个非空白字符 n| 把光标移到递n列上 nG 到文件第n行 :n 移动到第n行 :$ 移动到最后一行 H 把光标移到屏幕最顶端一行 M 把光标移到屏幕中间一行...n% 到文件n%位置 zz 当前行移动到屏幕中央 zt 当前行移动到屏幕顶端 zb 当前行移动到屏幕底端 文本插入 基本插入 快捷键 含义 i 在光标前插入 a 在光标后插入 I 在当前行第一个非空字符前插入...A 在当前行最后插入 gI 在当前行第一列插入 o 在下面新建一行插入 O 在上面新建一行插入 一个小技巧:按8,再按i,进入插入模式,输入=, 按esc进入命令模式,就会出现8个=。...something 在前面的文本查找something /pattern/+number 光标停在包含pattern行后面第number行上 /pattern/-number 光标停在包含pattern

2.1K30

vim基本命令

最实用几个: 0(数字0)移动到本行第一个字符上  移动到行尾 。 3 移动到下面3行行尾 gg 移动到文件头。 =  [[ G(shift + g) 移动到文件尾。 ...k 上一个字符 j 下移一个字符 以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入...^ 移动到本行第一个非空白字符上。 0(数字0)移动到本行第一个字符上,  移动到本行第一个字符。同0健。  移动到行尾 3 移动到下面3行行尾 gg 移动到文件头。 ...另一个方法是行号+G,比如230G跳到230行。...利用p命令可以对剪切内容进行粘贴 :1,10d 1-10行剪切。利用p命令可将剪切后内容进行粘贴。 :1, 10 m 20 第1-10行移动到第20行之后。

1.4K20

Vim 快速入门

任意一个,就可以光标移动到最底下那一行,进入底线命令模式(也称为指令列命令模式)。...dd删除游标所在那一整行 ndd删除光标所在向下 n 行 d1G删除光标所在到第一行所有数据 dG删除光标所在到最后一行所有数据 d$删除游标所在处,到该行最后一个字符 d0删除游标所在处,到该行最前面一个字符...复制 yy复制游标所在一行 nyy复制光标所在向下 n 行 y1G复制游标所在行到第一行所有数据 yG复制游标所在行到最后一行所有数据 y0复制光标所在那个字符到该行行首所有数据 y$复制光标所在那个字符到该行行尾所有数据...粘贴 p, Pp 为已复制数据在光标下一行贴上,P 则为贴在游标上一行!...:w [filename]编辑数据储存成另一个档案(类似另存新档) :r [filename]在编辑数据,读入另一个档案数据

1.1K20

vim-command

o 在下面插入一行 O 在上面插入一行。 s 删除光标后一个字符,然后进入插入模式。 S 删除光标所在行,然后进入插入模式。...但如果是按下P,那么原来第20行会被变成30行(常用) J 光标所在行与下一列数据结合成同一行 c 重复删除多个数据,例如向下删除10行,[10cj] u 复原前一个操作(常用) [Ctrl]+r...Esc 退出插入模式,回到命令行模式(常用) 末行命令模式 key desc :w 编辑数据写入硬盘文件(常用) :w! 若文件属性为“只读”时,强制写入该文件。...文件还原到最原始状态 ZZ 若文件没有更改,则不存储离开,若文件已经更改,则存储后离开 :w[filename] 编辑数据存储成另一个文件(类似另存新文件) :r[filename] 在编辑数据...,读入另一个文件数据

81020

JS 算法与数据结构之列表

以下描述如何实现该抽象数据类型(ADT) 一、 什么是列表 列表是一组有序数据,每个列表数据项称为元素 在 JS ,列表元素可以是任意数据类型,且列表保存多少元素没有事先限定 要设计列表抽象数据类型...清空列表所有元素 toString 返回列表字符串形式 getElement 返回当前位置元素 insert 在现有元素后插入新元素 append 在列表末尾添加新元素 remove 从列表删除元素...front 列表的当前位置移动到第一个元素 end 列表的当前位置移动到最后一个元素 prev 当前位置后移一位 next 当前位置前一位 hasNext 判断后一位 hasPrev 判断前一位...after 参数在列表位置,然后使用 splice() 方法新元素插入该位置,再将变量 listSize 加 1 并返回 true 7、clear 方法 清空列表中所有的元素 function clear...,最后一行 listSize 和 pos 设为 1,表明这是一个新空列表 8、contains 方法 判断给定是否在列表 function contains(element) { for

1.7K10

Linux之vi和vim编辑器

O 在当前行之前插入一行 4.2.2 游标移动 指令 说明 gg 移动到文件头。...$ 移动到行尾 3$ 移动到下面3行行尾 f(find) fx找到光标后第一个为x字符,3fd找到第三个为d字符。...p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行一行粘贴。 shift+p 在当前行前粘贴 :1,10 co 20 1-10行插入到第20行之后。...:1,$ co $ 整个文件复制一份并添加到文件尾部。 ddp 交换当前行和其下一行 xp 交换当前字符和其后一个字符 ndd 剪切当前行之后n行。...利用p命令可以对剪切内容进行粘贴 :1,10d 1-10行剪切。利用p命令可将剪切后内容进行粘贴。 :1, 10 m 20 第1-10行移动到第20行之后。

2K10

Linux学习笔记之vim操作指令大全

h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上一行; gj: 移动到一段内一行; gk: 移动到一段内一行; +或Enter: 把光标移至下一行第一个非空白字符...w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...ctrl+e: 向下滚动一行。 ctrl+y: 向上滚动一行。 n%: 到文件n%位置。 zz: 当前行移动到屏幕中央。 zt: 当前行移动到屏幕顶端。 zb: 当前行移动到屏幕底端。...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 在光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename在当前位置插入另一个文件内容...用法为: :vim[grep]/pattern/[g] [j] files g含义是如果一个模式在一行多次出现,则这一行也在结果多次出现。

2.7K20

汇编笔记(四)长文警告

观察这段汇编指令对应机器码,汇编指令[idata]立即数,不论是否是数据还是内存单元偏移地址,都会在对应机器指令中出现,CPU执行机器指令,它必须要处理这些数据和地址。...如果是8位,一个默认在AL另一个在8位reg或者内存字节单元;如果是16位一个默认在AX另一个在16位reg或者内存字单元。...我们最先想到是用寄存器了存储,对于存放参数存储器和存储结果存储器,调用者和子程序读写恰恰相反:调用者参数送入参数寄存器,从结果寄存器取到返回;子程序从参数寄存器取到参数,返回送入寄存器...解决这个问题简捷方法是,在子程序开始子程序所有用到寄存器内存都保存起来,在子程序返回前恢复,可以用栈来保存寄存器内容。...分析: 要得到字符串,其实是要得字符串ASCII码,十进制数码字符对应ASCII码=十进制数码+30H(可观察ASCII码表得出)。 如何得到十进制数码

70310

学会这21条,你离 Vim 大神就不远了!

利用p命令可以对剪切内容进行粘贴 :1,10d 1-10行剪切。利用p命令可将剪切后内容进行粘贴。 :1, 10 m 20 第1-10行移动到第20行之后。 10....以行为单位移动 # 10指代所有数字,可任意指定 10h 左移10个字符 10l 右移10个字符 10k 上10行 10j 下移10行 $ 移动到行尾 3$ 移动到下面3行行尾...查看缩进 :set shiftwidth=4 设置缩进为4 # 缩进相关 最好写到配置文件 ~/.vimrc :set tabstop=4 :set softtabstop=4 :set shiftwidth...K 当前视窗最上面 Ctrl-w H 当前视窗移至最左边 Ctrl-w L 当前视窗移至最右边 Ctrl-ww 按顺序切换窗口 调整尺寸 # 友情提示:键盘切记不要处于中文状态...配置命令 显示当前设定 :set或者:se显示所有修改过配置 :set all 显示所有的设定 :set option?

1K30

学会这21条,你离Vim大神就不远了

利用p命令可以对剪切内容进行粘贴 :1,10d 1-10行剪切。利用p命令可将剪切后内容进行粘贴。 :1, 10 m 20 第1-10行移动到第20行之后。 10....以行为单位移动 # 10指代所有数字,可任意指定 10h 左移10个字符 10l 右移10个字符 10k 上10行 10j 下移10行 $ 移动到行尾 3$ 移动到下面3行行尾 以单词为单位移动...查看缩进 :set shiftwidth=4 设置缩进为4 # 缩进相关 最好写到配置文件 ~/.vimrc :set tabstop=4 :set softtabstop=4 :set shiftwidth...K 当前视窗最上面 Ctrl-w H 当前视窗移至最左边 Ctrl-w L 当前视窗移至最右边 Ctrl-ww 按顺序切换窗口 调整尺寸 # 友情提示:键盘切记不要处于中文状态...配置命令 显示当前设定 :set或者:se显示所有修改过配置 :set all 显示所有的设定 :set option?

1.7K30

不会vim?看这篇就够了!

因此只要学会使用vi编辑器后,无论在什么版本Linux系统下,我们都能在所有的文件“横着走” vim介绍: vi和vim都是Linux编辑器,不同是,vim更适用于coding,功能相较vi更加强大...: (1)#vim 文件路径 作用:打开指定文件 (2)#vim +数字 文件路径 作用:打开指定文件,并且光标移动到指定行 (3)#vim +/关键词 文件路径...按键:dd (删除之后下一行) 注意:如果剪切了不粘贴就是删除效果。...②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定行 按键:数字dd (删除之后下一行) ③剪切/删除光标所在的当前行光标之后内容,但是删除之后下一行不上 按键:D (删除之后当前行会变成空白行...作用:替换整个文档每行第一个符合条件内容 :%s/要替换关键词/新内容/g 作用:替换整个文档符合条件内容 %表示整个文件 g表示全局(global) ⑦显示行号(临时,下面会介绍如何配置全局生效

2.9K00

rust所有权系统

变量存储位置 Rust基本标量数据类型都存在栈,栈所有数据都必须占用已知且固定大小。而大小未知或者可能变化数据,则存储在堆内存。...} 转移所有权 前面说过rust每一个有且仅有一个所有者。因此当我们一个绑定给另一个时候,会发生所有转移。但是下面的例子可能在你意料之外。...实际上,Rust 基本标量类型在绑定时都是通过自动拷贝方式。现在我们将上面代码x,y换成在堆上数据类型String,来观察发生变化。...例如: fn main() { let s1 = gives_ownership(); // gives_ownership 返回所有给 s1 println!...takes_and_gives_back , 同时返回给 s3 println!

54510

RefactoringGuru 代码异味和重构技巧总结

解决方案:在使用该方法最多创建一个新方法,然后代码从旧方法移动到这里。旧方法代码转换为对另一个类中新方法引用,或者将其完全删除。...内联类 问题:一个类几乎什么都不做,也不负责任何事情,也没有为它规划额外责任。 解决方案:所有功能从该类移动到另一个类。 隐藏委托关系 问题:客户端从对象 A 字段或方法获取对象 B。...用对象替换数据 问题:一个类(或一组类)包含一个数据字段。该字段有自己行为和相关数据。 解决方案:创建一个新类,旧字段及其行为放在该类,并将该类对象存储在原始类。...解决方案:从子类删除字段,并将其移动到超类。 上方法 问题:你子类具有执行类似工作方法。 解决方案:使方法相同,然后将它们移动到相关超类。...上构造器主体 问题:你子类构造器代码基本相同。 解决方案:创建一个超类构造器,并将子类相同代码移动到它。在子类构造器调用超类构造器。

1.8K40

快速学习-Linux(VIM编辑器)

文件路径 作用:打开指定文件,并且光标移动到指定行 #vim +/关键词 文件路径 作用:打开指定文件,并且高亮显示关键词(搜索) 重点:先复制出一个/etc/passwd文件,复制当前桌面下...p键【粘贴在光标所在行一行】,如果想粘贴在光标所在行之前,则使用P键 ② 以光标所在行为准(包含当前行),向下复制指定行数 按键:数字yy 2.1.3、剪切/删除 ① 剪切/删除光标所在行 按键...:dd (删除之后下一行) 注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除效果。...② 剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定行 按键:数字dd (删除之后下一行) ③ 剪切/删除光标所在的当前行(光标所在位置)之后内容,但是删除之后下一行不上 按键:...%表示整个文件(所有行) g表示全局(global) 案例:测试文件bin关键词全部替换成xxxx ⑦ 显示行号(临时) 输入:“:set nu”[number] 如果想取消显示,则输入:

2.7K10

vim编辑器操作汇总

-w  所有输入命令追加到文件   -W  所有输入命令写入到文件   -x ...在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口最后一行(通常也是屏幕最后一行)显示一个“:”作为末行模式提示符,等待用户输入命令。...移动光标: h: 左移 j: 下移 k: 上 l: 右移 M: 光标移动到中间行 L: 光标移动到屏幕最后一行行首 G: 移动到指定行,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字...{: 按段移动,上 }: 按段移动,下移 Ctr-d: 向下翻半屏 Ctr-u: 向上翻半屏 Ctr-f: 向下翻一屏 Ctr-b: 向上翻一屏 gg: 光标移动文件开头 G: 光标移动到文件末尾...下一个 N:上一个 替换命令: 把abc全部替换成123 末行模式下,当前文件所有abc替换成123 :%s/abc/123/g 末行模式下,一行至第10行之间abc替换成123

1.4K70
领券