vim【插入文本、帮助文档、移动、简单的搜索模式】

前言

  • vim语法高亮
vim ~/.vimrc

// 然后在文件中添加如下代码
syntax on
colorscheme darkblue

1. 插入文本

    1. Normal模式与Insert模式
    • Normal模式:键入的每个自负都被视为一个命令
    • Insert模式:键入的自负作为实际要输入的文本内容,使用i命令(insert)
    1. 现在是什么模式?
    • 打开显示模式::set showmode
    • 关闭显示模式::set noshowmode
    1. 模式之灾
    • 使用Vim经常忘记自己身在何种模式,或者不经意敲了那个字符就切换到别的模式去了,按再次Esc,如果Vim以一声蜂鸣来回答你,那说明你已经是在Normal模式了。
    1. 移动光标
    • 移动光标命令
           K  上
    h  左         l  右
           j  下
    
    • 也可以用箭头键来移动光标,会大大的降低效率,想象一下要是一下你在一小时内这样的做一百次会占用你多少时间?在编辑器中移动光标是十分常用的操作,这些字符在键盘上都分布在你右手周围,精心挑选的。
    1. 删除字符
      1. 删除一个字符命令:x
      • 这是在追忆古老的打字机的时代,在打字机上删除字符就是用xxxx来覆盖它的。
      1. 删除一行命令:dd
      • 删除后下边的行会移上来填补空缺。
      1. 删除换行符命令:J
      • 把两行合并为一行,也就是说两行之间的换行符被删除了。
    1. 撤销和重做
      1. 撤销命令:u(undo)
      • 如果误删除了过多的内容,命令u更简便,它可以撤销上一次的操作。
      • 撤销命令还有另一种形式,U命令,它一次撤销对一行的全部操作,即打开文件时的状态。
      1. 重做命令:ctrl + r(repeat)
      • 如果你撤销了多次,可以用ctrl + r来反转撤销的动作,换句话说它是对撤销的撤销。
      1. 其他编辑命令
        1. 追加
        • 在光标之后插入文本命令:a(append)
        • 另起一行命令:o/O
          • o命令可以在当前行的下边另起一行,并使当前模式反转为Insert模式,而大写的O,是在当前行的上边另起一行。
        1. 使用命令计数
        • 指定的数字要紧挨在它所有修饰的命令前边。
        • 假设你要向上移动9行,这可以用kkkkkkkkk或者9K来完成。
        • 行尾追加三个感叹号,可以用a!!!,另一个办法是3a! <Esc>命令。
        • 删除3个字符可以用3x
        1. 退出
        • 放弃编辑命令:q!
          • 有时你会在做了一连串的修改之后突然意识到最好是放弃所有的修改重新来过,这个命令由3个部分组成:冒号,,用以进入冒号命令行模式:q命令,告诉编辑器退出;最后是强制命令行的修饰符(!)
        • 放弃所有修改后还想以该文件的初始内容作为开始继续编辑:e!(edit)
        • 保存并退出命令:ZZ或者:wq (write quit)

2. 帮助文档

你想做的任何操作都可以在vim的帮助文文件中找到答案,所以不用怕问问题。

    1. 打开帮助命令::help 或者 F1
    1. 打开用户手册的目录::help usr_toc.txt
    1. 常用的帮助命令的使用
      1. 查看关于某个特殊主题的帮助::help {subject}
        1. :help x 关于x命令的帮助
        1. :help deleting 关于如何删除的内容
        1. :helo index 所有vim命令的索引
      1. 关于某个控制字符的帮助: CTRL-{subject}
        1. :help CTRL-A
      1. 查找其他模式下的帮助
        1. :help i_CTRL-H insert模式
        1. :help v_CTRL-B Visusl模式
        1. :help c_CTRL-B Command模式
      1. 关于命令行选项:-{subject}
        1. :help -R vim -R file.txt 以只读模式打开文件
      1. 关于命令行选项的说明:showmode
      • :help 'showmode'
      1. 特殊键用尖括号中的简单的描述性名字表示
        1. :help i_<Up>
      1. 错误ID号的作为帮助的主题
        1. :help {错误ID}
      1. 关于函数subject的帮助
        1. :help add() 在vimscript中使用
      1. 关于编译时特性+subject的帮助
        1. :help +visual
      1. 查找一个以pattern开始的帮助标记,重复按Tab查看其他匹配的帮助标记
        1. :help pattern<Tab>
      1. 同时列出匹配pattern的所有可能的帮助主题
        1. :help pattern<Ctrl-d>
      1. 在所有帮助文档中搜索全部文本查找指定的pattern
        1. :helpgrep pattern
        1. :copen 打开快速列表 直接回车键进入编辑
        1. :cclose 关闭快速列表
        1. :cn 下一匹配
        1. :cprev 或者 :cN 前一个匹配
        1. :cfirst 第一个匹配
        1. :clast 最后一个匹配

3. 移动

要想把vim玩得好,移动是必备的技能点。

    1. 以word为单位的移动
    • w命令(word):光标向前移动一个word,光标会移动到下一个word的首字符上,同时可以加计数前缀,如3w,将光标向前移动3个word。
    • b命令(backward):光标向后移动到前一个word的首字符上,同时可以加计数前缀,如3b,将光标向后移动3个word。
    • e命令(end of word):光标向前移动到下一个word的最后一个字符上。
    • ge命令:光标向后移动到前一个word的最后一个字符上。
      • 以上命令如果遇到连字符/ - _ . 、(等等,按下大写的命令即可。
      • 混合使用这几种不同的大小写命令,可以让你更快的在文本前后移动。
    1. 移动到行首或行尾
    • $命令:光标移动到当前行行尾,与End键作用相同,可以接受计数命令,如2$表示下一行的行尾。
    • ^命令:光标移动到当前行第一个非空的字符上。
    • 0命令:光标移动到当前行第一个字符上,与Home键作用相同。
    1. 移动到指定的字符上
    • f命令(find):向后单字符搜索命令,如fx在当前行查找下一个字符x,同时也可以使用计数命令,如3fx
    • F命令:向左单字符搜索命令。
    • t命令(to):向右单字符搜索命令,只不过不是把光标停留在被搜索字符上,而是它之前的一个字符上。
    • T命令:向左单字符搜索命令。
      • 可以同时与;键来重复使用这些命令。
    1. 以匹配一个括号为目的移动
    • %命令:光标跳转到与当前光标相匹配的括号上,括号:() [] {}
      • 如果当前光标没有停留在一个可用的括号字符上,会向前找到第一个括号,与之匹配。
    1. 移动到指定行
    • G命令(go):光标定位到计数指定的行,如果没有指定计数,光标会定位到最后一行。
    • gg命令:定位到第一行与1G的效果相同。
    • %命令:光标定位到计数指定的行上,如50%90%等。
    1. 告诉你当前的位置
    • Ctrl-g命令:显示信息行,如行号,总行数,以及当前行在文件中的百分比。
    • set number命令:显示行号。
    • set nonumber命令:关闭显示行号。
    • set ruler命令:显示当前光标的位置。
    • set noruler命令:关闭显示当前光标的位置。
    1. 滚屏
    • Ctrl-u命令(up):文本向下滚动半屏,窗口向上滚动半屏。
    • Ctrl-d命令(down):文本向上滚动半屏,窗口向下滚动半屏。
    • Ctrl-e命令(extra):文本向上滚动一行,窗口向下滚动一行。
    • Ctrl-y命令:文本向下滚动一行,窗口向上滚动一行。
    • Ctrl-f命令(forward):文本向下滚动一屏,窗口向上滚动一屏。
    • Ctrl-b命令(backward):文本向上滚动一屏,窗口向下滚动一屏。
    • zz命令:当前行置于正中央。
    • zt命令(top):当前行置于屏幕顶端。
    • zb命令(bottom):当前行置于屏幕底端。
    1. 简单搜索
      1. 常用命令
      • /{string}命令:向下搜索一个字符串。
      • ?{string}命令:向上搜索一个字符串。
        • n命令:下一次搜索,可以加计数命令。
        • N命令:上一次搜索,可以加计数命令。
          • . * ^ ~ $有特殊的意义,需要一个反斜杠\
      1. 大小写问题
      • :set ignorecase:开启搜索忽略大小写。
      • :set noignorecase:关闭搜索忽略大小写。
      1. 命令历史记录
      • 按下/来搜索,先别按回车键,上箭头键会显示你上一次进行搜索的命令。
      1. 在文本中查找下一个word
      • *命令:向下搜索下一个当前光标所在的单词。
      • #命令:向上搜索下一个当前光标所在的单词。
        • 默认以\<{word}\>,完整的单词搜索。
      1. 查找整个word
      • \>:单词结束符。
      • \<:单词开始符。
      • \<{word}\>:完整的单词搜索。
      1. 高亮显示搜索结果
      • :set hlsearch命令(highlight search): 开启高亮显示搜索结果。
      • :set nohlsearch命令: 关闭高亮显示搜索结果。
      • nohlsearch:去掉当前的高亮显示
      1. 调整搜索
      • :set incsearch:开启使用键入莫表字符串同时就开始搜索。
      • :set noincsearch:关闭使用键入莫表字符串同时就开始搜索。
      • set warpscan:开启到达文件的尾部会向另一个方向进行搜索。
      • set nowarpscan:关闭到达文件的尾部会向另一个方向进行搜索。

4. 简单的搜索模式

vim使用正则表达式进行搜索的功能十分的强大。

    1. 一行的开头与结尾
    • ^字符:匹配一行的开头。
    • $字符:匹配一行的结尾。
    1. 匹配任何一个字符
    • .字符:匹配任何一个字符。
      • 备注:如果是特殊字符,需要反斜杠。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,341评论 0 5
  • 光标移动 h 光标左移,同 <Left> 键j ...
    guanguans阅读 1,828评论 0 16
  • 自我总结篇: 对文件的操作技巧: vim文件一个有三种状态:命令(浏览/输入命令转变末行模式),文本(添加/编辑/...
    小知大知阅读 786评论 0 0
  • vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光...
    MiracleJQ阅读 659评论 0 0
  • 1. vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:v ...
    路痴千行阅读 3,263评论 0 0