"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. web: 屏蔽button元素的空格键和enter响应

    用tab键可以在各种元素之间切换焦点,然后键盘上的空格和enter按键触发click事件,我这里不想要这种效果. 所以我需要屏蔽这两个按键. function keyup(e) { var currK ...

  2. 【Beta阶段】第九次Scrum Meeting

    每日任务内容 队员 昨日完成任务 明日要完成的任务 张圆宁 #66 修改登录注册按钮https://github.com/rRetr0Git/rateMyCourse/issues/66 #69 后端 ...

  3. Inno setup 判断系统32位还是64位

    [Files] ; Install MyProg-x64.exe -bit mode (x64; see above), ; Check: Is64BitInstallMode 表示是64位windo ...

  4. tomcat高并发优化的参数优化并查看tomcat线程数

    在Tomcat配置文件conf下面 server.xml 中的配置中和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessor ...

  5. Linux sed正则匹配删除整行

    原文内容: [root@10 tmp]# more test.log 2019-12-01 09:09:02 Failed 2019-12-01 09:12:02 Failed 2019-12-01 ...

  6. Flutter的Padding、Raw、Column、Expanded组件的基本使用

    Padding组件: Padding组件的基本使用代码: import 'package:flutter/material.dart'; import 'package:flutter_testdem ...

  7. mysql插入报错:java.sql.SQLException: Incorrect string value: '\xE6\x9D\xAD\xE5\xB7\x9E...' for column 'address' at row 1

    界面报错: 日志报错: java.sql.SQLException: Incorrect at com.mysql.cj.jdbc.exceptions.SQLError.createSQLExcep ...

  8. IntelliJ IDEA 安装使用 FindBugs 代码分析详述

    1 下载 2 重启idea 选中文件,右键 附:一些常见的错误信息 Bad practice 代码中的一些坏习惯 Class names should start with an upper case ...

  9. docker 运行 sqlserver

    docker 运行 sqlserver docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=sa123456' -e 'MSSQL_PID=Deve ...

  10. 一个流行的网页动画JS库

    animejs https://animejs.com/ Anime.js (/ˈæn.ə.meɪ/) is a lightweight JavaScript animation library wi ...