首页 > 其他分享 >vim编辑器学习

vim编辑器学习

时间:2024-03-04 10:55:54浏览次数:18  
标签:old vim 学习 编辑器 光标 字符串 new 文本 输入

第一讲小结

  1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
    h (左移) j (下行) k (上行) l (右移)

  2. 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>

  3. 欲退出 Vim 编辑器,请输入 :q! <回车> 放弃所有改动。
    或者输入 :wq <回车> 保存改动。

  4. 在正常模式下删除光标所在位置的字符,请按: x

  5. 欲插入或添加文本,请输入:

    i 输入欲插入文本 在光标前插入文本
    A 输入欲添加文本 在一行后添加文本

特别提示:按下 键会带您回到正常模式或者撤消一个不想输入或部分完整
的命令。

第二讲小结

  1. 欲从当前光标删除至下一个单词,请输入:dw

  2. 欲从当前光标删除至当前行末尾,请输入:d$

  3. 欲删除整行,请输入:dd

  4. 欲重复一个动作,请在它前面加上一个数字:2w

  5. 在正常模式下修改命令的格式是:

    其中:
    operator - 操作符,代表要做的事情,比如 d 代表删除
    [number] - 可以附加的数字,代表动作重复的次数
    motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),
    $ 代表行末等等。

      operator   [number]   motion
    

    其中:
    operator - 操作符,代表要做的事情,比如 d 代表删除
    [number] - 可以附加的数字,代表动作重复的次数
    motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),
    $ 代表行末等等。

  6. 欲移动光标到行首,请按数字0键:0

  7. 欲撤消以前的操作,请输入:u (小写的u)
    欲撤消在一行中所做的改动,请输入:U (大写的U)
    欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R

第三讲小结

  1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除
    的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置
    于当前光标所在行的下一行。

  2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字
    符即可。

  3. 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。
    比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当
    前光标到行末的内容。

  4. 更改类命令的格式是:

     c   [number]   motion
    

第四讲小结

  1. CTRL-G 用于显示当前光标所在位置和文件状态信息。
    G 用于将光标跳转至文件最后一行。
    先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。
    gg 用于将光标跳转至文件第一行。

  2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。
    输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。
    完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查
    找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。
    CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。

  3. 如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。

  4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入

     :s/old/new
    

    ​ 在一行内替换所有的字符串 old 为新的字符串 new,请输入

      :s/old/new/g
    

    ​ 在两行内替换所有的字符串 old 为新的字符串 new,请输入

     :#,#s/old/new/g
    

    ​ 在文件内替换所有的字符串 old 为新的字符串 new,请输入

     :%s/old/new/g
    

    ​ 进行全文替换时询问用户确认每个替换需添加 c 标志

     :%s/old/new/gc
    

第五讲小结

  1. :!command
    

    用于执行一个外部命令 command。

    请看一些实际例子:

    (MS-DOS) (Unix)
    :!dir :!ls - 用于显示当前目录的内容。
    :!del FILENAME :!rm FILENAME - 用于删除名为 FILENAME 的文件。
  2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文
    件中。

  3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件
    FILENAME 中。

  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置
    后面。

  5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

第六讲小结

1. 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。
   输入大写的 O 可以在光标上方打开新的一行。
2. 输入小写的 a 可以在光标所在位置之后插入文本。
   输入大写的 A 可以在光标所在行的行末之后插入文本。
3. e 命令可以使光标移动到单词末尾。
4. 操作符 y 复制文本,p 粘贴先前复制的文本。
5. 输入大写的 R 将进入替换模式,直至按 <ESC> 键回到正常模式。
6. 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:
   'ic' 'ignorecase'       查找时忽略字母大小写
   'is' 'incsearch'        查找短语时显示部分匹配
   'hls' 'hlsearch'        高亮显示所有的匹配短语
   选项名可以用完整版本,也可以用缩略版本。
7. 在选项前加上 no 可以关闭选项:  :set noic

第七讲小结

1. 输入 :help 或者按 <F1> 键或 <Help> 键可以打开帮助窗口。

2. 输入 :help cmd 可以找到关于 cmd 命令的帮助。

3. 输入 CTRL-W CTRL-W  可以使您在窗口之间跳转。

4. 输入 :q 以关闭帮助窗口                       

5. 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。

6. 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。
   按 <TAB> 可以使用一个补全。                                       

标签:old,vim,学习,编辑器,光标,字符串,new,文本,输入
From: https://www.cnblogs.com/GrandOB/p/18051372

相关文章

  • 机器学习策略篇:详解训练/开发/测试集划分(Train/dev/test distributions)
    训练/开发/测试集划分设立训练集,开发集和测试集的方式大大影响了或者团队在建立机器学习应用方面取得进展的速度。同样的团队,即使是大公司里的团队,在设立这些数据集的方式,真的会让团队的进展变慢而不是加快,看看应该如何设立这些数据集,让团队效率最大化。在此,想集中讨论如何设立......
  • 3.4 STL 学习笔记一
    这是初次学习STL的相关知识。可能之后还会补充笔记。STL是提高C++编写效率的一个利器1.#includevector是变长数组,支持随机访问,不支持在任意位置O(1)插入。为了保证效率,元素的增删一般应该在末尾进行。1.1声明include//头文件vectora;//相当于一个长度变化的int数组......
  • 系统架构设计师学习(一)未来信息综合技术
    一、引言本来是想着按教材顺序来进行编写的,但是出于个人喜好,我阅读的第一章即本文所描述的未来信息综合技术走向,所以就按我阅读的顺序来进行整理了。2024年其实我个人感觉到非常大的危机了,不管是大环境还是AI对我们行业的冲击,我觉得有必要要重新审视当前的自己并做出一......
  • 前端学习-vue视频学习004-响应式数据ref reacive
    尚硅谷视频教程响应式数据vue2中,写在data()里的数据自动成为响应式数据vue3定义响应式数据,使用ref()或reactive()什么是响应式数据:数据改变时。页面随之变化,即为响应式数据ref()创建基本类型的响应式数据首先引入refimport{ref}from'vue'所有需要动态变化的数......
  • 流水线设计方法学习
    在数字设计中寄存器对输入信号有着一定的要求,主要是在两个方面上,一个是建立时间(SetupTiming),另外一个是保持时间(HoldTiming),最小建立时间是指在寄存器对信号进行采样之前信号已经提前完成变化,并保持不变;保持时间是指,寄存器在对其进行采样的时候,信号必须在这个时间内保持不变;要想寄......
  • 动手学强化学习(五):时序差分算法代码
    一、单步sarsaimportmatplotlib.pyplotaspltimportnumpyasnpfromtqdmimporttqdm#tqdm是显示循环进度条的库classCliffWalkingEnv:def__init__(self,ncol,nrow):self.nrow=nrow#4self.ncol=ncol#12self.x=0#记录......
  • 找工作学习第六天
    按钮和面包屑“首页”没有左右排布,因为 button是一个行内元素,但是h3是一个块级元素,需要独占一行,所以到首页这里会自动换行,同样的块级元素还有divh1-h6,li,ui,p标签 很不自信,碰到难一点的就想和逃避,但是逃了能去干什么呢,继续去看手机?玩?等到暑假继续来后悔? flex布局,可以将元......
  • 动手学强化学习(五):时序差分算法
    第5章时序差分算法5.1简介第4章介绍的动态规划算法要求马尔可夫决策过程是已知的,即要求与智能体交互的环境是完全已知的(例如迷宫或者给定规则的网格世界)。在此条件下,智能体其实并不需要和环境真正交互来采样数据,直接用动态规划算法就可以解出最优价值或策略。这就好比对于......
  • 【学习性能分析--第二版】如何做好性能测试分析诊断调优-暨《软件性能测试、分析与调
    【推荐序】1999年,Windows98只有1800万行代码,运行环境只需要16MB内存、225MB硬盘。而目前最新的Windows10有6000万行代码,需要8GB内存、20GB硬盘才能流畅地运行。1990年,低速的CAN总线才125kb/s,高速的500kb/s吞吐的CAN总线就能满足整车通信需要,而且还有剩余。之后,CA总线升级到2.0,......
  • Java学习Day01
    开发语言汇总开发语言鼻祖,汇编语言C语言,面向过程的开发C++,是C语言的延伸,覆盖面向对象Java面向对象的开发,又叫C++--C#是Java的山寨Java发展史C语言的纯净版,无指针、内存的管理等C语言的纯净版,有如下特性:简单易用面向对象可移植性高性能分布式多线程安全性健壮......