vim

功能 : 一个强大的文本编辑器
   语法格式 :vim [ 选项 ] / 路径 / 文本文件名 命令格式: vi [ 选项 ] [ 文件名 ]
   +num 打开某个文件直接跳转到 num 行
   -b 以 binary 方式打开文件 , 用于编辑二进制文件
   -R 以只读方式打开文件

一.VIM 基础使用
    vim 编辑器共有三种工作模式

command line 主要做替换 , 删除 , 复制等工作。 input mode 主要做内容编辑
last line mode 主要对文件进行编辑操作 , 如保存文件

不同模式之间的切换

二.命令模式

       在 command mode 执行操作的时候都是先要将光标移动到要 执行命令的地方然后再执行命令 ,

怎么移动光标呢 ?

   j 光标向下移动
k 光标向上移动
h 光标向左移动
l 光标向右移动

如果你觉得记这些不太方便也可以用小键盘上的←↑→↓来代替 G(shift+g) 直接移动到文件末尾

 gg 直接移动到文件头
0( 数字键 ) 直接移动到行头
^(Shift + 6) 直接到行头
$ 直接移动到行末
PageUp 向上翻一页
PageDown 向下翻一页
H 将光标移动到当前屏幕的最上 M 将光标移动到当前屏幕的中间 L 将光标移动到当前屏幕的最下
zz 将光标当前行为基准放在屏幕中间 x 删除光标所在位置的字符
X 删除光标所在位置之前的一个字符 D 从光标开始到行末全部删除
dw 删除光标后的一个单词 dd 删除光标所在的一行
db 删除光标所在的前一个单词
dG 删除光标所在行到文件末尾的所有内容 dgg 删除光标所在行到文件头的所有内容 dk 删除光标所在行和上面一行
dj 删除光标所在行和下面一行
u 撤销刚才的操作 , 可以连续使用 U 撤销一行中的所有操作
ctrl + r 取消撤销的内容
ctrl + g 显示当前编辑文件的信息 . 比如文 件名 , 总共的 行数 , 当前在总数中的百分比等信息
% 移动到配对的符号如当前光标在 ( 键入%可以自动移动到配对的 ) 同样适用于 [ ] 和 { } 这些功能 在编程的时候特别有用
. 点 , 这个键的功能是重复最后一次执行的命令
g~ 这个功能非常有意思 ,g~ 能将当前行的大小写转换
J 这个键的功能是将光标当前行和下一行合并 注 : 这 个键不能加上数字
r 替换光标所在的字符
R 连续替换
y 复制 , 如 yw 复制一个单词 yy 复制一行
p 粘贴 ( 光标后 ) P 粘贴 ( 光标前 )

VIM 基础使用在命令行中有一个 v 键: 这个键是用来代替鼠标用的。 v 的意思是‘可视’的意思 , 按过 v 键以后再使用方向键便可以象鼠标那样选中文字 , 然后可以对 选中的文字进行操作。
大写 V 键:这个键是用来选择某个行
ctrl + v 来选择某个列

(1)VIM的查找
    在命令模式中 按 / 进入搜索模式 这里的搜索使用的是正则表达式 , 如果要查找 .*[]^%/\?~$ 这些 具有特殊含义的字符需要在这些字符前加上 \ 转义符。 精确查找
   比如 the 需要用 /\<the\>来查找 按 n 继续向下搜索 ,
   按 N 返回上一个搜索。

(2)命令模式切换输入模式

    a 在光标后开始插入 ( 相当于 insert 键 )
i 在光标前开始插入
A 在光标所在行末尾开始插入
I 在光标所在行首开始插入 o 在光标所在行下插入一行 O 在光标所在行上插入一行 R 进入替换模式
s 替换光标所在字符后开始编辑 S 删除光标所在行后开始编辑

  

(3)末行模式 last line mode
    在命令模式下按下 : (shift+;) 键 , 就进入了末行模式。

    :w 保存文件
:q 退出 vi 编辑
:wq 保存文件并退出 vi 编辑器 ( 无论是否修改了文件 )
:x 保存退出
ZZ 保存退出
:e 不离开 VI ,开始编辑一个新的文件
:w <filename-new> 存储当前编辑的文件到一个新的文件(另存 为)
:x 文件仅被修改时才写入 并退出 , 未写入则直接退出
:q! 这个 ! 具有强制的作用 , 因为在 vi 中默认不保存文件是无法 退出 vi 编辑器的 , 主要为了防止意外退出。
:w! 强制保存 , 有的时候文件是只读属性的时候 ,可以用这个方式 来保存 , 当然前提是文件所有者必需是当前用户。

(4)末行模式 查找和替换 查找格式
    :范围 命令/查找字串/替换字串/ 参数
    查找范围:
    % 所有的行
    $ 文件最后一行
    . 光标所在行
    1,50 1-50行

命令:
  查找的命令全称是 substitute但为了方便期间可以使用简写 sub 或者干脆用 s 这三个单词都可以用做查找的命令查找。查找的内 容中可以使用正则表达式 , 这样可以让查找方式非常灵活多变 替换的内容当然就是替换的内容了最后的参数有很多 , 可以同时 使用多个参数
  g 替换所有查找到的内容
  c 每次替换的时候都手工确认 y 同意 n不同意仍然继续替换, q 退出替换
  i 忽略大小写
  I 不忽略大小写
  e 不显示出错信息

示例:

 :% s/root/--linux--/g
:% s/\/usr\/bin/\/home/g
:% s/^/linux/g
:% s/$/s/g

精确查找替换     :% s/\<bin\>/----------------/g

 :set nu 显示行号 , 打开这个功能以后会在每一行的最左面显示 行号 , 行号不算在文件本身
:set nonu 关闭显示行号的功能
:set nohlsearch 消除搜索的记号
:set ic 忽略大小写 , 主要是为了方便搜索
:set noic 不忽略大小写
:syntax on 打开色彩支持 , 在 linux 中编辑文件和编辑程序源代 码等工作都是在 vim 中完成的 , 打开色彩支持可以在查看或编写 程序的时候发现语法等错误
:syntax off 关闭色彩支持

  

Linux中vim编辑命令的更多相关文章

  1. linux中vim常用命令

    vim工作模式 vi 文件名 进入命令模式 i a o 进入插入模式 ESC键 回到命令模式 : 进入编辑模式 添加行号 :set number/nu :wq 保存退出 插入命令 a 在光标所在字符后 ...

  2. linux中vim常用命令总结

  3. 关于XShell的常见使用和设置以及Linux中的常见命令.

    本文部分转自:http://sundful.iteye.com/blog/704079 和 http://www.vckai.com/p/5 有时候在XShell中操作的一些命令傻傻的分不清这个命令到 ...

  4. 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)

    Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...

  5. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  6. Linux故障:linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0"。

    linux中使用ifconfig命令查看网卡信息时显示为eth1,但是在network-scripts中只有ifcfg-eth0的配置文件,并且里面的NAME="eth0".   ...

  7. Linux中vim编辑器 的 快捷键 --- 常用 的 都比较全

    Linux中vim编辑器的功能非常强大,许多常用快捷键用起来非常方便,这里将我学vim入门时学的一些常用的快捷键分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到 ...

  8. Linux中的历史命令

    Linux中的历史命令一般保存在用户    /root/.bash_history history 选项 历史命令保存文件夹 选项     -c:清空历史命令     -w :把缓存中的历史命令写入历 ...

  9. Linux中vim的简单配置

    本文主要分享Linux中vim的简单配置 ★配置文件的位置     在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...

随机推荐

  1. 并发容器之ConcurrentHashMap(JDK 1.8版本)

    1.ConcurrentHashmap简介 在使用HashMap时在多线程情况下扩容会出现CPU接近100%的情况,因为hashmap并不是线程安全的,通常我们可以使用在java体系中古老的hasht ...

  2. SQLServer之GROUP BY语句

    GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 SELECT column_name, aggregate_func ...

  3. MySQL问题记录——2003-Can't connect to MySQL server on 'localhost'(10038)

    MySQL问题记录——2003-Can't connect to MySQL server on 'localhost'(10038) 摘要:本文主要记录了连接到MySQL数据库时出现的问题以及解决办 ...

  4. Linux:源代码安装及脚本安装的使用

    由于这两个安装方法比较少,就没有单独分开来写 源代码安装 源码安装的步骤 (1)对下载的码包进行解压 (2)进入解压目录执行 configure 命令做相关设置 (3)执行 make 进行编译 (4) ...

  5. macOS 10.15 开启 HiDPI

    普通的显示,接上 MacBook 发现原生的分辨率设置在 2K 显示器上字体很小,换成 1080P 分辨率显示效果又特别模糊.下面介绍MacBook强行开启 HiDPI. 什么是 HiDPI 它使用横 ...

  6. Kali设置1920x1080分辨率

    root@kali:~# xrandr --newmode -hsync +vsync root@kali:~# xrandr --addmode Virtual1 1920x1080 root@ka ...

  7. MYSQL的备份与恢复--逻辑备份mysqldump

    目录 0.备份与恢复概述 1.逻辑备份-完整备份与恢复 2.逻辑备份-增量备份与恢复 (1)环境准备 (2)恢复全量数据 (3)恢复增量备份 3.新来的开发妹子删了库! (1)模拟环境准备 (2)全备 ...

  8. java 内存溢出总结

    堆 /** * jvm 参数: -Xms5m -Xmx5m -Xmn2m -XX:NewSize=1m * @author admin * */ public class HeapOutOfMemor ...

  9. 2019-2020-1 20199305《Linux内核原理与分析》第一周作业

    进入Linux的世界 1.何为Linux? Linux是一个操作系统. 2.Linux的由来 芬兰赫尔辛基大学的研究生 Linus Torvalds接触Unix时认为其费用不友好,决定自己开发一个操作 ...

  10. nginx学习(三):nginx的进程模型

    概述 nginx 进程分为 master进程和work进程 1.打开配置文件查看,这里我修改为2 [root@xxx conf]# vim nginx.conf #user nobody; worke ...