"vim"是linux中非常强大,应用非常广的编辑方式。下面介绍一些"vim"的基本用法。以"/etc/passwd"为例。

1、vim命令模式

输入":set nu"可以添加行号,如下图所示。":set nonu"可以取消行号。":set mouse=a"可以添加鼠标选择。":set cursorline"可以在光标下显示行线。

以上的设定都只在当前的"vim"中生效,如果需要永久生效,则输入命令"vim /etc/vimrc",此文件为vim的配置文件,在此文件上加入以上参数,后续的"vim"都会生效,例如在配置文件中加入"set nu",以后使用"vim"时都会自动显示行号。

2、vim命令模式下的关键词搜索

"vim"为了使用方便,也在命令模式下有关键词搜索功能。"/关键字"可以快速查找文件,如图查找文件中的"bin"关键词。n向下匹配关键词,N向上匹配关键词。

3、vim命令模式下的字符管理

vim命令模式的字符管理主要提供文本的复制、删除、剪切功能。

字符的复制使用"y"。"yl"表示复制一个字母,"ynl"表示复制n个字母,"yw"表示复制一个单词,"ynw"表示复制n个单词,"yy"表示复制一行,"yny"表示复制n行,在复制完成后,在想要复制的目标位置按"p"完成复制,下图为使用"yy"复制一整行。将第4行复制为第5行。

字符的删除使用"d"。"dl"表示删除一个字母,"dnl"表示删除n个字母,"dw"表示删除一个>单词,"dnw"表示删除n个单词,"dd"表示删除一行,"dnd"表示删除n行,下图为使用"dd"删除一整行。删除了第1行。

字符的剪切使用"c"。"cl"表示剪切一个字母,"cnl"表示剪切n个字母,"cw"表示剪切一个>单词,"cnw"表示剪切n个单词,"cc"表示剪切一行,"cnc"表示剪切n行,在剪切后会进入到插入模式,在执行粘贴动作时一定要按"esc"退出插入模式,然后在目标位置按"p",下图为使用"cc"剪切一整行。

4、vim的可视化模式

在命令模式下按“ctrl+v”进入到可视模式,在可视模式下可以区域选择字符。如下图所示,选中了要加入字符的所在列,按按“I”进入插入模式,写入要加入的字符"XXXX",然后按"esc"就会在选中的整列前添加"XXXX"。

5、批量修改字符

在一个文本中,如果需要批量修改字符,则需要输入命令":%s/原有字符/替换后字符/g"如果没有"g",则只会替换每一行中出现的第一个原有字符,如下图所示,利用上述命令将"bin"全部变为"DDDDDDDDDDD"。

如果只需要替换前几行,则需要输入":1,ns/原有字符/替换后字符/g",例如下图将1至5行的"bin"替换为"DDDDDDDDDDDDDDD"。

6、vim的分屏功能

在进行"vim"编辑文本的时候,有时候会用到分屏功能,将"ctrl+w"一起按下,然后按"s"会出现上下分屏。

按"v"会出现左右分屏。

按"c"可以关闭光标所在的屏幕,按上下左右可以移动光标至指定屏幕。

在打开一个"vim"的情况下,输入":sp file2"可以同时编辑当前文件和"file2"。

7、vim光标移动

在命令模式下,输入":数字"可以移动到指定的行,按"G"可以移动至文件第一行,按"gg"可以移动至文件最后一行。

在插入模式下,按"i"可以在光标所在位置插入,按"I"可以在光标所在行行首插入,按"a"可以在光标所在字符的下一个位置,按"A"可以在光标所在行行尾等等。

8、vim的退出

在编辑完文件或者查看完文件后,没有对字符作任何操作时可以输入":q"退出,对字符作操作,但要放弃所有操作退出时输入":q!",输入":wq"可以保存退出,输入":wq!"强行保存退出,对超级用户及文件所有人生效。

9、其他

在文件编辑时,也可以通过命令"gedit file"来打开gedit的图形界面编写文本。

以上是"vim"的一些基本编辑功能,还有其他的功能需要在后面的学习中了解并熟悉。

linux初学者-编辑文件工具vim的更多相关文章

  1. 只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs

    只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditP ...

  2. Windows上管理远程Linux VPS/服务器文件工具 - winscp

    Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...

  3. 新手必学linux文本文件编辑命令 vi vim.....

    作为一名Linux新手小白,今天就和大家简单地了解一下Linux的Vim文本编辑器的使用. Vim文本编辑器     vim编辑器的三大模式——命令模式.编辑模式和末行模式            命令 ...

  4. linux笔记:文件编辑器vim

    vim的3种工作模式: 在命令模式下进入插入模式: 定位命令: 删除命令: 复制和剪切命令: 替换和取消命令: 查找和替换命令: 保存和退出命令: 导入命令执行结果和定义快捷键:

  5. 【Linux】编辑文件时,箭头按键还有BACKSPACE按键不能正常使用的解决办法

    需要安装vim sudo apt-get  remove vim-common sudo apt-get install vim

  6. 编辑器之神VIM 总结(一) 基础部分

     版本号 说明 作者 日期  1.0  vim基础知识 Sky Wang 2013/06/19       概要 vim和emacs,一个是编辑器之神,一个是神一样的编辑器.他们被称是UNIX系统下的 ...

  7. day59:Linux:编辑工具vim&文件类型&文件属性

    目录 1.Linux编辑工具vim 2.Linux文件类型 3.Linux文件属性 4.今日份Linux练习题 Linux编辑工具vim 1.什么是vim 文本文件的编辑工具,  和windows的n ...

  8. Linux文件编辑工具——VIM

    Linux文件编辑工具--VIM 1.VIM基本概述 1.1 什么是vim vi 和 vim 是 Linux 下的一个文本编辑工具.(可以理解为 windows 的记事本,或 Notepad++ 1. ...

  9. Linux系统的文件复制移动删除与VIM编辑

    目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ...

随机推荐

  1. ARC098F Donation

    传送门 Atcoder Solution 首先是几个引理: 重新定义权值\(val_i=max(a_i-b_i,0)\),那么通过这个点必须需要\(val_i+b_i\)的钱. 多次经过一个点一定是在 ...

  2. cgdsR 下载TCGA数据

    TCGA 的数据可以在5个组织机构获取,它们都提供了类似的接口来供用户下载数据. cgdsR 包是cBioPortal 提供的R包 http://www.cbioportal.org/rmatlab ...

  3. 倍增&矩阵乘法 专题复习

    倍增&矩阵乘法 专题复习 PreWords 这两个基础算法我就不多说啦,但是还是要介绍一下" 广义矩阵 "乘法 其实就是把矩阵换成取\(max\),然后都一样... 据神仙 ...

  4. encode_chunked=req.has_header('Transfer-encoding'))问题解决方法

    Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/ ...

  5. 【转】Android 将自己的应用改为系统应用

    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定.减少内存(DATA)空间占用.恢复出厂设置后不会消失.修改系统时间.调用隐藏方法.系统关机重启.静默安装升级卸载应用等 ...

  6. Server Tomcat v8.5 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.

    Server Tomcat v9.0 Server at localhost was unable to start within 45 seconds. If the server requires ...

  7. MongoDB笔记: 分片集群

    MongoDB分片集群由三个模块组成 shard: 分片(或者分区)模块, 每个分片分别存储一部分数据, 从MongoDB 3.6开始, 分片必须是replica set(副本集) mongos: m ...

  8. SQLite R*Tree 模块测试

    目录 SQLite R*Tree 模块测试 1.SQLite R*Tree 模块特性简介 2.SQLite R*Tree 模块简单测试代码 SQLite R*Tree 模块测试 相关参考: MySQL ...

  9. Could not find com.android.tools.build:gradle:3.3.0.

    导入新项目时报错: Error:Could not find com.android.tools.build:gradle:3.3.0. Searched in the following locat ...

  10. 泡泡一分钟:Geometric and Physical Constraints for Drone-Based Head Plane Crowd Density Estimation

    张宁 Geometric and Physical Constraints for Drone-Based Head Plane Crowd Density Estimation 基于无人机的向下平面 ...