vim替换

Linux_vi编辑器

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-09 21:44:51
一、vi/vim编辑器的三种模式   1. 命令模式   2. 插入模式   3. 最后行模式 eRrsr@hadoop09-linux tmp]$ vi vi.txt # 命令行 start to write # 插入模式 ~ ~ -- INSERT -- 1 start to write ~ ~ :set nu # 最后行模式 二、 常用的编辑快捷键   1. 显示行号 :set nu   2. 取消行号 :set nonu   3. 剪切/删除 dd   4. 复制 yy   5. 粘贴 p   6. 撤销到上一步 u   7. 撤销全部 U   8. 光标移动到第一行 :1 或者 gg   9. 光标移动到最后一行 :$ 或者 G   10. 移动到指定行 :n(数字)   11. 初始进入编辑 i: 在光标前开始编辑 I: 在光标所在行起始处编辑 l: 在光标后开始编辑 L: 在最后一行行首处开始编辑 a: 在光标后开始编辑 A: 在光标所在行末尾编辑 o: 在光标下行开始编辑(下面另起一行) O: 在光标上行开始编辑(上面另起一行)   12. 查找 最后行模式下 /你要找的字符串   13. 替换 :1,$s/123/456/g #1,$表示从第一行到最后一行;s表示替换;/123/456/表示被替换字符串与替换字符串;g代表通行,就是说加上g后,全部替换   14.

VIM 快捷操作

拥有回忆 提交于 2020-02-04 01:44:53
1 基础 《Linux就是这个范》里有个脑图很好记。 VIM cheat sheet https://vim.rtorr.com/lang/zh_cn https://vimsheet.com/ 2 一般模式 2.1 移动光标 移动单个字符 h j k l 移动单词 w下一单词第一个字符 W下一长单词第一个字符 e下一单词最后一个字符 E下一长单词最后一个字符 b前一单词第一个字符 B前一长单词第一个字符 移动行 0到行首 $到行尾 行号G跳到指定行 G跳到最后一行 2j 向下移动2行 3k 向上移动3行 移动句 (到句首 )到句尾 移动段 {到句首 }到句尾 搜索 /表达式 搜索下一个匹配表达式的字符串 n 向前重复搜索 N 向后重复搜索 搜索之后字符串高亮怎么取消: 命令模式下,输入:noh // nohighlight 2.2 编辑控制 通用 J 将下一行接到当前行的行末 . 重复上一命令 u 恢复上一命令 删除 x 删除当前字符 X 向前删除字符 dd 删除当前行 dw 删除当前单词 d) 删除到当前句尾 d} 删除到当前段尾 d3w 删除光标后的3个单词 d2j 删除当前行及下2行 复制 yy 复制一行 y) y} y3w y2j 复制操作方法与删除类似 粘贴 p 粘贴到光标之后 P 粘贴到光标之前 3 插入模式 3.1 插入 i 在光标字符前插入 I 插到当前行到行首

vim 查找和替换命令 替换/n和\\n

岁酱吖の 提交于 2020-02-02 21:52:00
一、 字符串的查找 1. vim 中用 / 和 ? 来查找字符串,两者的区别是: /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母; ?string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母。 在回车之后,按n键同方向转到下一个匹配的字符串,按N键反方向转到上一个匹配的字符串。 2. 用命令 :set ic 和 :set noic 来分别设置查找时不区分和区分大小写。 如果查找特殊字符,如 ^、$、*、/ 和 .,需要在前面加 \ 来转义。 二、字符串的替换 1. vim 中可用 :s 命令来替换字符串,具体如下: :s/str1/str2/ 替换当前行第一个 str1 为 str2 :s/str1/str2/g 替换当前行中所有 str1 为 str2 :m,ns/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2 :m,ns/str1/str2/g 替换第 n 行开始到最后一行中所有的 str1 为 str2 (注:m和n 为数字,若m为 .,表示为当前行开始;若n为$,则表示到最后一行结束) 如果使用 # 作为分隔符,则中间出现的 / 不会作为分隔符,比如: :s#str1/#str2/# 替换当前行第一个 str1/ 为 str2/ :%s+/oradata

在 Vim 中优雅地查找和替换

喜欢而已 提交于 2020-01-31 09:34:50
原文更好看链接http://harttle.com/2016/08/08/vim-search-in-file.html 总有人问我 Vim 中能不能查找,当然能!而且是超级强的查找! 这篇文章来详细介绍 Vim 中查找相关的设置和使用方法。 包括查找与替换、查找光标所在词、高亮前景/背景色、切换高亮状态、大小写敏感查找等。 查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。 Vim查找支持正则表达式,例如/vim匹配行尾的"vim"。需要查找特殊字符需要转义,例如/vim$匹配"vim”。 注意查找回车应当用\n,而替换为回车应当用\r(相当于)。 大小写敏感查找 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找。例如: /foo\c 将会查找所有的”foo”,”FOO”,”Foo”等字符串。 大小写敏感配置 Vim 默认采用大小写敏感的查找,为了方便我们常常将其配置为大小写不敏感: ” 设置默认进行大小写不敏感查找 set ignorecase ” 如果有一个大写字母,则切换到大小写敏感查找 set smartcase 将上述设置粘贴到你的~/.vimrc,重新打开Vim即可生效。 查找当前单词 在normal模式下按下*即可查找光标所在单词(word),

vim查找

给你一囗甜甜゛ 提交于 2020-01-31 09:24:27
本文摘自http://freetravel.blog.sohu.com/106769983.html VIM是被誉为非常高效的文本编辑软件。但是掌握并高效的使用是件有难度的事情。在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法。下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索。 f命令可以进行行内搜索。输入fx可以找到下一个x字符。 F命令可以在反方向进行行内搜索,输入Fx可以找到上一个x字符。 t命令同样是进行行内搜索,但是光标停留在符合条件的字符的前面。输入tx使光标停留在下一个x字符的前面。 T命令可以在反方向进行行内搜索,但是光标停留在符合条件的字符的下一个字符上。输入tx使光标停留在上一个x的后面的字符上。 %可以搜索与之匹配的对应的()[]{}。这个功能对于书写程序特别有用。 全文的搜索。键入/后,光标进入VIM底部的命令行,这时就可以输入以/为开始的/搜索命令了。 最简单的查找。输入/string就可以查找string字符串。 继续查找。在第一次搜索后输入n将会继续进行上一次搜索,如果输入3n那么会找到后面第三个符合的字符串。大写的N会在反方向,也就是向上进行搜索。 向上搜索。输入?可以向上搜索。随后的n命令将会继续向上搜索,N向下搜索,其他和/一样。 对大小写的匹配。 在命令行输入:set ignorecase可以设置搜索以忽略大小写的方式进行

vi,vim编辑器

泄露秘密 提交于 2020-01-25 17:23:41
# `vi` —— 终端中的编辑器 ## 目标 * `vi` 简介 * 打开和新建文件 * 三种工作模式 * 常用命令 * 分屏命令 * 常用命令速查图 ## 01. `vi` 简介 ### 1.1 学习 `vi` 的目的 * 在工作中,要对 **服务器** 上的文件进行 **简单** 的修改,可以使用 `ssh` 远程登录到服务器上,并且使用 `vi` 进行快速的编辑即可 * 常见需要修改的文件包括: * **源程序** * **配置文件**,例如 `ssh` 的配置文件 `~/.ssh/config` > * 在没有图形界面的环境下,要编辑文件,`vi` 是最佳选择! > * 每一个要使用 Linux 的程序员,都应该或多或少的学习一些 `vi` 的常用命令 ### 1.2 vi 和 vim * 在很多 `Linux` 发行版中,直接把 `vi` 做成 `vim` 的软连接 #### vi * `vi` 是 `Visual interface` 的简称,是 `Linux` 中 **最经典** 的文本编辑器 * `vi` 的核心设计思想 —— **让程序员的手指始终保持在键盘的核心区域,就能完成所有的编辑操作** * `vi` 的特点: * **没有图形界面** 的 **功能强大** 的编辑器 * 只能是编辑 **文本内容**,不能对字体、段落进行排版 * **不支持鼠标操作**

vim字符串替换命令

我与影子孤独终老i 提交于 2020-01-21 11:12:45
:%s/str1/str2/g 替换每一行中所有str1为str2 常用! :s/str1/str2/g 替换当前行所有str1为str2 基本替换 :s/str1/str2/ 替换当前行第一个str1为str2 :s/str1/str2/g 替换当前行所有str1为str2 :n,$s/str1/str2/ 替换第 n 行开始到最后一行中每一行的第一个str1为str2 :n,$s/str1/str2/g 替换第 n 行开始到最后一行中每一行所有str1为str2 (n 为数字,若 n 为 .,表示从当前行开始到最后一行) :%s/str1/str2/(等同于 :g/str1/s//str2/) 替换每一行的第一个str1为str2 :%s/str1/str2/g(等同于 :g/str1/s//str2/g) 替换每一行中所有str1为str2 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 :s#str1/#str2/# 替换当前行第一个str1/ 为str2/ :%s+/str11/str12/+/str21/str22+ (使用+ 来 替换 / ): /str11/str12/替换成/str21/str22/ 文件中删除^M 问题描述:对于换行,Windows下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。这样

Linux下VIM编译器的使用以及shell编程基础

左心房为你撑大大i 提交于 2020-01-15 14:32:09
VIM编译器的安装与使用 vim编辑器安装 在CentOS中,执行:yum -y install vim 普通模式 h: 左移一个字符 j: 下移一行 k: 上移一行 l: 右移一个字符 PageDown(或Ctrl+F):下翻一屏 PageUp(或Ctrl+B):上翻一屏 G:移到缓冲区的最后一行 num G:移动到缓冲区中的第num行 gg:移到缓冲区的第一行 命令行模式 普通模式下按下冒号键 保存、退出命令: q:如果未修改缓冲区数据,退出 q!:取消所有对缓冲区数据的修改并退出 w filename:将文件保存到另一个文件中 wq:将缓冲区数据保存到文件中并退出 删除数据: x: 删除当前光标所在位置的字符 dd: 删除当前光标所在行 dw: 删除当前光标所在位置的单词 d$: 删除当前光标所在位置至行尾的内容 编辑数据: J: 删除当前光标所在行行尾的换行符(拼接行) u: 撤销前一编辑命令 a: 在当前光标后追加数据 A: 在当前光标所在行行尾追加数据 编辑数据: r char: 用char替换当前光标所在位置的单个字符 R text: 用text覆盖当前光标所在位置的数据,直到按下ESC键 o: 在当前光标的下一行追加数据 O: 在当前光标上一行追加数据 编辑数据: i: 在当前光标前插入 I:在当前光标所在行开头插入 复制和粘贴: yw:复制一个单词 y$

Linux vi/vim编辑器常用命令与用法总结

独自空忆成欢 提交于 2020-01-15 00:56:06
(一)vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便。vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。 (二)为什么要学习vi/vim? 首先所有的Linux发行版系统上都会默认内置vi编辑器,而不一定带有其他文本编辑器,非常通用;其次,很多软件的编辑接口都会默认调用vi;第三,vi具有程序编辑的能力;最后,vi程序简单,编辑速度相当快速。 (三)vi的三种模式及各个模式之间的转换关系 (四)一般模式常用操作 【h(或向左方向键)】 光标左移一个字符 【j(或向下方向键)】 光标下移一个字符 【k(或向上方向键)】 光标上移一个字符 【l(或向右方向键)】 光标右移一个字符 【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键) 【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键) 【[0]或[Home]】 光标移动到当前行的最前面 【[$]或[End]】 光标移动到当前行的末尾 【G】 光标移动到文件的最后一行(第一个字符处) 【nG】 n为数字(下同),移动到当前文件中第n行 【gg】

Linux Vim编辑器使用入门(二)

有些话、适合烂在心里 提交于 2020-01-14 01:44:22
普通模式下光标移动命令 1. 上下左右移动 h 左移一个字符 j 下移一行(文本中的下一行) k 上移一行(文本中的上一行) l 右移一个字符 注:上述四个命令也可用键盘中的上下左右键代替 2. 快速移动的命令 PageDown(或Ctr+F) 下翻一屏 PageUp(或Ctr+B) 下翻一屏 G 移到缓冲区的最后一行 num G 移动到缓冲区的第num行(如:20 G,光标直接定位到第20行,Debug时最常用) gg 移到缓冲区的第一行 普通模式下编辑数据命令 在插入模式下,你可以向缓冲区中插入数据。然而有时将数据输入到缓冲区后,你需要在对其进行添加或删除。在普通模式下,Vim编辑器提供了一些命令来直接编辑缓冲区的数据。 x 删除当前光标所在位置的字符 dd 删除当前光标所在行 dw 删除当前光标所在位置的单词 d$ 当初当前光标所在位置至行尾的内容 J 删除当前光标所在行行尾的换行符(拼接行) u 撤销前一编辑命令 a 在当前光标处追加数据 A 在当前光标所在行行尾追加数据 r char 用char替换当前光标所在位置的单个字符 R text 用text覆盖当前光标所在位置,直到按下ESC键 注:有些编辑命令允许使用数字修饰符来指定重复该命令多少次。比如命令 5dd 会删除从光标所在行开始的5行 普通模式下复制和粘贴 剪切粘贴 :vim在删除数据时