:wq:保存退出,即使文件没有被修改也强制写入,并更新文件的修改时间 ZZ:保存退出。 :x:类似于:wq,保存退出,仅当文件被修改时才写入 :q:如果未进行任何更改,不保存退出 :q!...0:移动到行首。g0:移到光标所在屏幕行行首。gg:到文件头部。G:到文件尾部。...h或者退格: 左移一个字符;l或者空格: 右移一个字符;j: 下移一行;k: 上移一行;gj: 移动到一段内的下一行;gk: 移动到一段内的上一行;+或者Enter: 把光标移至下一行第一个非空白字符。...w: 前移一个单词,光标停在下一个单词开头;W: 移动下一个单词开头,但忽略一些标点;e: 前移一个单词,光标停在下一个单词末尾;E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;b: 后移一个单词...^: 移动到本行第一个非空白字符。: 移动到行尾。g: 移动光标所在屏幕行行尾。n|: 移到递n列上。nG: 到文件第n行。H: 移到屏幕最顶端一行。M: 移到屏幕中间一行。
而且写文件、查找翻页什么的 比我用鼠标快多了,那熟练的快捷键看的我一愣一愣的 ---- 光标移动: h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行...; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符。...w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...后移一个单词,光标停在上一个单词开头; B: 移动到上一个单词开头,忽略一些标点; (: 前移1句。...ctrl+e: 向下滚动一行。 ctrl+y: 向上滚动一行。 n%: 到文件n%的位置。 zz: 将当前行移动到屏幕中央。 zt: 将当前行移动到屏幕顶端。 zb: 将当前行移动到屏幕底端。
虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。...: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符。...w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...也可以,不过精确到列,而'‘精确到行 。如果想跳转到更老的位置,可以按C-o,跳转到更新的位置用C-i。 `": 移动到上次离开的地方。 `.: 移动到最后改动的地方。 :marks 显示所有标记。...如:%s/old/new/gc,加上i则忽略大小写(ignore) 正则表达式 \d: 表示十进制数(我猜的) \s: 表示空格 \S: 非空字符 \a: 英文字母 |: 表示 或 .: 表示.
个字符 aa a Ctrl + f,[PgDn] 屏幕向下移动一页 Ctrl + b,[PgUp] 屏幕向上移动一页 Ctrl + d 屏幕向下移动半页 Crtl + u 屏幕向上移动半页 + 光标移动到非空格符的下一列...- 光标移动到非空格符的上一列 n n表示数字,再按下空格键光标向右移动n个字符 0,[Home] 光标移动到第一个字符 $,[End] 光标移动到最后一个字符 H 光标移动到屏幕第一行第一个字符...M 光标移动到屏幕中央一行的第一个字符 L 光标移动到屏幕最后一行的第一个字符 G 光标移动到文件最后一行 nG n为数字,光标移动到文件第n行 gg 光标移动到文件第一行,相当于1G n<Enter...强制保存并离开 ZZ 若文件没有改动,则不保存离开,如果文件有改动,则保存后离开 :w[filename] 将文件另存为filename :r[filename] 在光标处插入另一个文件的数据 :n1,...[filename] 开启新窗口如果有文件名参数,在新窗口中打开该文件如果没有文件名参数,打开同一个文件(同步显示) + j + ↓ 光标下移一个窗口 <Ctrl
导航命令 命令模式下: 移动光标 j: 下移一行 k: 上移一行 l: 右移一列 h: 左移一列 Ctrl+f: 下翻页 Ctrl+f: 上翻页 单词切换 w: 下一个单词,分辨标点 W:...: 对当前ruler设置取反(如果关闭则打开,如果打开则关闭) 快捷键汇总 滚动整页或半页 导航键 描述 CTRL+F 向下滚动整页 CTRL+B 向上滚动整页 CTRL+D 向下滚动半页...CTRL+U 向上滚动半页 CTRL+E 向下滚动一行 CTRL+Y 向上滚动一行 字的导航 导航键 描述 w 移动到下一个word的开始处 W 移动到下一个WORD...,如果一行的字符数超过了这个限制,就会自动跳转到下一行,比如实际的一行可能你看起来是5、6行的样子,那么这个时候你如果使用j、k那么就有种跳转了N行的假象。...在这种情况下,如果在视觉情况下,跳转到下一行(其实是同一行),使用下述导航键。
右移一个字符 j 下移一行 k 上移一行 +或Enter 把光标移至下一行第一个非空白字符 – 把光标移至上一行第一个非空白字符 w 前移一个单词,光标停在下一个单词开头 e 前移一个单词,光标停在下一个单词末尾...b 后移一个单词,光标停在上一个单词开头 ge 后移一个单词,光标停在上一个单词末尾 { 前移1段 } 后移1段 上面的操作都可以配合n使用,比如在正常模式下输入3h,则光标向左移动3个字符...快捷键 含义 0 移动到行首 $ 移动到行尾 ^ 移动到本行第一个非空白字符 n| 把光标移到递n列上 nG 到文件第n行 :n 移动到第n行 :$ 移动到最后一行 H 把光标移到屏幕最顶端一行...ctrl+y 向上滚动一行 n% 到文件n%的位置 zz 将当前行移动到屏幕中央 zt 将当前行移动到屏幕顶端 zb 将当前行移动到屏幕底端 文本的插入 基本插入 快捷键 含义 i 在光标前插入 a...的行前面第number行上 n 向后查找下一个 N 向前查找下一个 替换 快捷键 含义 : s/old/new 用new替换当前行第一个old : s/old/new/g 用new替换当前行所有的old
Ctrl+ww| 移动到下一个窗口 Ctrl+wj |移动到下方的窗口 Ctrl+wk |移动到上方的窗口 :close |最后一个窗口不能使用此命令,可以防止意外退出vim。...= ]] 行數 → G 移動到第 n 行 冒号+行号,回车 比如跳到240行就是 :240回车 h 左移一个字符 l 右移一个字符,这个命令很少用,一般用w代替。...p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。 shift+p 在当前行前粘贴 :1,10 co 20 将1-10行插入到第20行之后。...:set list 显示非打印字符,如tab,空格,行尾等。...如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了 expandtab,那么tab将被扩展为空格。
有没有办法实现精准查找呢?你可以使用 /hello\> 精准查找:匹配行首、行末 # hello位于行首 /^hello # world位于行末 /world$ 5....:%s/old/new/g 用old替换new,替换整个文件的所有匹配 :10,20 s/^/ /g 在第10行至第20行每行前面加四个空格,用于缩进。...以行为单位移动 # 10指代所有数字,可任意指定 10h 左移10个字符 10l 右移10个字符 10k 上移10行 10j 下移10行 $ 移动到行尾 3$ 移动到下面3行的行尾...= ]] 其他移动方法 ^ 移动到本行第一个非空白字符上。 0 移动到本行第一个字符上(可以是空格) 使用 具名标记 跳转,个人感觉这个很好用,因为可以跨文件。...如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。
有没有办法实现精准查找呢?你可以使用 /hello\> 精准查找:匹配行首、行末 # hello位于行首 /^hello # world位于行末 /world$ 5....:%s/old/new/g 用old替换new,替换整个文件的所有匹配 :10,20 s/^/ /g 在第10行至第20行每行前面加四个空格,用于缩进。...以行为单位移动 # 10指代所有数字,可任意指定 10h 左移10个字符 10l 右移10个字符 10k 上移10行 10j 下移10行 $ 移动到行尾 3$ 移动到下面3行的行尾 以单词为单位移动...= ]] 其他移动方法 ^ 移动到本行第一个非空白字符上。 0 移动到本行第一个字符上(可以是空格) 使用 具名标记 跳转,个人感觉这个很好用,因为可以跨文件。...如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。
屏幕“向上”移动一页,相当于[Page Up]按键 [Ctrl]+[d] 屏幕“向下”移动半页 [Ctrl]+[u] 屏幕“向上”移动半页 命令行模式:移动光标的方法 key desc | 光标移动到非空格符的下一行...光标移动到非空格符的上一行n n表示“数字”,例如20.按下数字后再按空格键,光标会向右移动这一行n个字符。...例如20则光标会向后面移动20个字符距离 0 这是数字“0”:移动到这一行的最前面字符处(常用) $ 移动到这一行的最后面字符处(常用) H 光标移动到这个屏幕的最上方哪一行 M 光标移动到这个屏幕的中央哪一行...举例来说,如果刚刚执行/vbird去向下搜索vbird字符串,则按下n后,会向下继续搜索下一个名称为vbird的字符串。如果是执行?...将文件还原到最原始的状态 ZZ 若文件没有更改,则不存储离开,若文件已经更改,则存储后离开 :w[filename] 将编辑的数据存储成另一个文件(类似另存新文件) :r[filename] 在编辑的数据中
如果您使用多个输入源以便用不同的语言键入内容,这些快捷键会更改输入源而非显示 Spotlight。 空格键 快速查看:使用快速查看来预览所选项。...Fn-Delete 在没有向前删除 ? 键的键盘上向前删除。也可以使用 Control-D。 Control-K 删除插入点与行或段落末尾处之间的文本。...Option–Shift–上箭头 将文本选择范围扩展到当前段落的段首,再按一次则扩展到下一段落的段首。...Option–Shift–下箭头 将文本选择范围扩展到当前段落的段尾,再按一次则扩展到下一段落的段尾。...Control-P 上移一行。 Control-N 下移一行。 Control-O 在插入点后插入一行。 Control-T 将插入点后面的字符与插入点前面的字符交换。
空格键:使用快速查看来预览所选项。 Command-Tab:在打开的 App 中切换到下一个最近使用的 App。...Shift–上箭头:将文本选择范围扩展到上一行相同水平位置的最近字符处。 Shift–下箭头:将文本选择范围扩展到下一行相同水平位置的最近字符处。...Option–Shift–上箭头:将文本选择范围扩展到当前段落的段首,再按一次则扩展到下一段落的段首。...Option–Shift–下箭头:将文本选择范围扩展到当前段落的段尾,再按一次则扩展到下一段落的段尾。...Control–P:上移一行。 Control–N:下移一行。 Control–O:在插入点后新插入一行。 Control–T:将插入点后面的字符与插入点前面的字符交换。
h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符...w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...用法为: :vim[grep]/pattern/[g] [j] files g的含义是如果一个模式在一行中多次出现,则这一行也在结果中多次出现。...表示对于以一个空格和xyz开头的行执行normal模式下的dd命令。 关于range的规定为: 如果不指定range,则表示当前行。 m,n: 从m行到n行。 0: 最开始一行(可能是这样)。...如果你没有make程序,你可以通过配置makeprg选项来更改make调用的程序。
空格键 快速查看:使用快速查看来预览所选项。 Command-Tab 切换应用:在打开的应用中切换到下一个最近使用的应用。...Fn-Delete 在没有向前删除 键的键盘上向前删除。也可以使用 Control-D。 Control-K 删除插入点与行或段落末尾处之间的文本。...Option–Shift–上箭头 将文本选择范围扩展到当前段落的段首,再按一次则扩展到下一段落的段首。...Option–Shift–下箭头 将文本选择范围扩展到当前段落的段尾,再按一次则扩展到下一段落的段尾。...Control-P 上移一行。 Control-N 下移一行。 Control-O 在插入点后插入一行。 Control-T 将插入点后面的字符与插入点前面的字符交换。
而如果要回到命令模式时,则必须要按下『Esc』这个按键即可退出编辑模式。 底线命令模式 在命令模式下,按下『:,/,?』...(注意了,按下 : 该光标就会移动到最底下一行去!) ,如下图所示: ?...Page Down]按键 [Ctrl] + [b]屏幕『向上』移动一页,相当于 [Page Up]按键 [Ctrl] + [d]向下滚动(移动半页) [Ctrl] + [u]向上滚动(移动半页) +光标移动到非空格符的下一行...-光标移动到非空格符的上一行 n向右移动 n 个字符,n 是数量 0 或功能鍵[Home]数字0,移动到当前行最前面字符处 $ 或功能鍵[End]移动到这一行的最后字符处 H光标移动到这个屏幕最上方一行的第一个字符处...若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
普通模式下没有任何提示符,输入命令后立即执行,不需要回车,而且输入的字符不会在屏幕上显示出来。 编辑模式 编辑模式主要用于文本的编辑。...如果不确定当前处于哪种模式,按两次 Esc 键将回到普通模式。...命令大全,最详细(建议收藏) 光标的移动 h - 左移光标 j - 下移光标 k - 上移光标 l - 右移光标 gj - 下移光标(折行文本) gk - 上移光标(折行文本) H - 移动到当前页面顶部...- 移动到文件第一行 G - 移动到文件最后一行 5gg or 5G - 移动到第五行 gd - 跳转到局部定义 gD - 跳转到全局定义 fx - 移动到字符 x 下次出现的位置 tx - 移动到字符...Esc - 退出插入模式 编辑文本 r - 替换当前字符 R - 在 ESC 按下之前,替换多个字符 J - 将下一行合并到当前行, 并在两部分文本之间插入一个空格 gJ - 将下一行合并到当前行,
如果您使用多个输入源以键入不同的语言,那么这些快捷键会更改输入源,而非显示 Spotlight。空格键快速查看:使用快速查看预览所选项。...Fn-Delete在没有向前删除 键的键盘上向前删除。也可以使用 Control-D。Control-K删除插入点与行或段落末尾处之间的文本。...Shift–上箭头将文本选择范围扩展到上一行相同水平位置的最近字符处。Shift–下箭头将文本选择范围扩展到下一行相同水平位置的最近字符处。Shift–左箭头将文本选择范围向左扩展一个字符。...Shift–Option–上箭头将文本选择范围扩展到当前段落的段首,再按一次则扩展到下一段落的段首。Shift–Option–下箭头将文本选择范围扩展到当前段落的段尾,再按一次则扩展到下一段落的段尾。...Control-P上移一行。Control-N下移一行。Control-O在插入点后插入一行。Control-T将插入点后面的字符与插入点前面的字符交换。Command–左花括号 ({)左对齐。
语法2: //键盘输入符号,光标移动到光标所在行的行尾 语法3:gg //键盘输入字母gg,光标移动到文件的首行 上图中,当输入一个g时不是正确语法在右下角可以看到输入的内容g,当输入两个g时立刻会执行命令...4个字符 粘贴语法:p //键盘输入字母p即可在光标处粘贴复制的内容 3.剪切/删除 语法1:dd //键盘输入字母dd,剪切光标所在行,光标所在行的下面行会上移填补剪切行 语法2:数字dd //键盘输入数字...+字母dd,从光标所在行起向下剪切指定行(数字对应的行数,包括了光标所在行),后面行会上移填补剪切部分 语法3:D //键盘输入字母D,剪切光标所在行但后面行不会上移填补剪切行,剪切行变空 删除语法:删除即剪切后不复制...open 文件名 //键盘输入英文符号:+字母open+空格+文件名再回车,切换到其他打开的文件进行操作 语法3::bn //键盘输入英文符号:+字母bn再回车,切换到下一个打开的文件 语法4::bp...I 在光标所在行的行首开始插入,若行首有空格则在空格后插入 A 在光标所在行的行尾开始插入 O 在光标所在行的上面另起一行开始插入 S 删除光标所在行并开始插入 按照以上不同的方式进入编辑模式后,正常使用键盘进行增删改即可
Fn-Delete:在没有向前删除 键的键盘上向前删除。也可以使用 Control-D。 Control-K:删除插入点与行或段落末尾处之间的文本。...Shift-上箭头:将文本选择范围扩展到上一行相同水平位置的最近字符处。 Shift-下箭头:将文本选择范围扩展到下一行相同水平位置的最近字符处。...Option-Shift-上箭头:将文本选择范围扩展到当前段落的段首,再按一次则扩展到下一段落的段首。...Option-Shift-下箭头:将文本选择范围扩展到当前段落的段尾,再按一次则扩展到下一段落的段尾。...Control-P:上移一行。 Control-N:下移一行。 Control-O:在插入点后新插入一行。 Control-T:将插入点后面的字符与插入点前面的字符交换。
如果没有高亮,运行:set hls 2.cw命令删除从光标位置到音讯结尾间的字符,并进入插入模式 3.n会查找下一个单词,*nn会遍历所有匹配项,从而跳回到本次查找的起点 F.结识.范式 1.理想模式:...make dir来进行补救 八、用动作命令在文档中移动 A.让手指保持在本位行上 1.h左移一列,l右移一列,j下移一行,k上移一行 2.只用h和l来解决“差一错误”(off-by-one errors...B.区分实际行与屏幕行 1.gj、gk向下、向上移动一个屏幕行 2.g0、g^、g$,移动到屏幕行的行首、第一个非空白字符、行尾 C.基于单词移动 1.w正向移动到下一单词的开头,b反向移动到当前单词/...上一单词的开头,e下向移动到当前 单词/下一单词的结尾,ge反向移动到上一单词的结尾 D.对字符进行查找 1.f{char}命令会在光标位置与当前行行尾之间查找指定的字符,如果找到了就会把光标移到此字符上...;如果未能找到,则保持光标不动 2.
领取专属 10元无门槛券
手把手带您无忧上云