linux初学者-编辑文件工具vim
"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的更多相关文章
- 只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs
只有文本编辑器才是王道, 什么ide都是evil的浮云, 看看linus linux的内核开发工具vim emacs [ide is evil] (http://i.cnblogs.com/EditP ...
- Windows上管理远程Linux VPS/服务器文件工具 - winscp
Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...
- 新手必学linux文本文件编辑命令 vi vim.....
作为一名Linux新手小白,今天就和大家简单地了解一下Linux的Vim文本编辑器的使用. Vim文本编辑器 vim编辑器的三大模式——命令模式.编辑模式和末行模式 命令 ...
- linux笔记:文件编辑器vim
vim的3种工作模式: 在命令模式下进入插入模式: 定位命令: 删除命令: 复制和剪切命令: 替换和取消命令: 查找和替换命令: 保存和退出命令: 导入命令执行结果和定义快捷键:
- 【Linux】编辑文件时,箭头按键还有BACKSPACE按键不能正常使用的解决办法
需要安装vim sudo apt-get remove vim-common sudo apt-get install vim
- 编辑器之神VIM 总结(一) 基础部分
版本号 说明 作者 日期 1.0 vim基础知识 Sky Wang 2013/06/19 概要 vim和emacs,一个是编辑器之神,一个是神一样的编辑器.他们被称是UNIX系统下的 ...
- day59:Linux:编辑工具vim&文件类型&文件属性
目录 1.Linux编辑工具vim 2.Linux文件类型 3.Linux文件属性 4.今日份Linux练习题 Linux编辑工具vim 1.什么是vim 文本文件的编辑工具, 和windows的n ...
- Linux文件编辑工具——VIM
Linux文件编辑工具--VIM 1.VIM基本概述 1.1 什么是vim vi 和 vim 是 Linux 下的一个文本编辑工具.(可以理解为 windows 的记事本,或 Notepad++ 1. ...
- Linux系统的文件复制移动删除与VIM编辑
目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ...
随机推荐
- cesium地下模式(地表透明)2
接上一篇博客,这篇直接分析火星的源码,看它到底改了些什么. 注意:在cesium1.63.1版本改变了模块化方式,由AMD改为ES6模块化.注意引入文件加载模块时做出对应修改. 1.火星代码里修改了4 ...
- 阿里云服务器25端口禁用之如何使用Java发邮件(解决25端口禁用问题)
通常我们在本地使用Java发送邮件,通常是没有问题的,但是部署到服务器的话,就可能遇到问题.当然了,这与运营商也有关系.比如我之前在咖啡主机上购买虚拟机,然后将个人网站部署上去,通常是没有问题的,没有 ...
- 关于js函数解释(包括内嵌,对象等)
常用写法: function add(a,b) { return a + b; } alert(add(1,2)); // 结果 3 当我们这么定义函数的时候,函数内容会被编译(但不会立即执行,除非我 ...
- 声源定位之3精读《The Generalized Correlation Method for Estimation of Time Delay》
2.2.1 标题(2019年9月5日) 估计时间差的广义互相关方法 互相关可以表示两个信号的相似程度. 计算:两个信号循环移位相乘再相加,得到的一组互相关值. 相关函数: 何为广义?通用的框架,可以设 ...
- WINDOWS 命令行调用SAS代码 并指定输出路径 示例
ECHO "设置SAS.EXE 路径" SET PATH=D:\Program Files\SASHome\SASFoundation\9.4\SAS.EXE echo " ...
- Chrome提示:"请停用以开发者模式运行的扩展程序"的解决办法
操作步骤 1.开始 -> 运行 -> 输入gpedit.msc -> 回车确定打开计算机本地组策略编辑器(通过Win + R快捷键可以快速打开运行),如图所示: 2.在打开的本地组策 ...
- Android TextView部分文字实现点击事件
This is the class for text whose content and markup can both be changed. (这是一个内容和标记都可以更改的文本类) 快速实现 直 ...
- 批量实现ssh免密登录
本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们 ...
- yum安装python3.6的方法
# centos7 # 换成阿里云的yum源 yum -y install epel-release yum repolist yum -y install python36 测试 [root@loc ...
- Java13新特性 -- switch表达式
引入了yield语句,用于返回值: 和return的区别在于:return会直接跳出当前循环或者方法,而yield只会跳出当前switch块. @Test public void testSwitch ...