Linux学习,Vim以及Vi常用快捷键
VIM配置文件路径:
/etc/vmrc ===> 系统配置文件路径
~/.vimrc ===> 当前用户配置文件路径
$VIM ===> 与VIM配置文件相关的变量
进入插入模式:
i === > 从目前光标所在处插入
I === > 在目前所在列的第一个非空白字符处开始插入
a === > 从目前光标所在的下一个字符处开始插入
A === > 从光标所在列的最后一个字符处开始插入
o === > 在目前光标所在的下一列处插入新的一列
O === > 为在目前光标所在处的上一列插入新的一列
进入取代模式:
r === > 取代光标所在的那一个字符一次
R ===> 一直取代光标所在的文字,直到按下 ESC 为止
VIM键盘图:
一、保存退出
w === > 保存文件
w! === > 若文件为只读,强制保存文件
q == => 离开vi
q! == => 不保存强制离开vi
wq == => 保存后离开
wq! == => 强制保存后离开
! [command]== => 暂时离开vi到命令行下执行一个命令后的显示结果
注意:command 是一个linux 指令
write [filepath] == => 另存为指定路径的指定文件
w [filepath] == => 另存为指定路径的指定文件
注意:filepath 是一个文件名(如果不带路径,默认为当前路径)
二、全局参数
set fileencoding ===> 查看当前文件编码格式
set fileencoding=utf-8 ===> 设置当前文件编码格式为utf-8,也可以设置成其他编码格式
set fileformat ===> 查看当前文件的断行格式(dos\windows,unix或macintosh)
set fileformat=unix ===> 将当前文件的断行格式设置为unix格式
三、设置取消高亮
set hlsearch ===> 设置高亮
set nohlsearch ===> 取消高亮
nohlsearch ===> 取消高亮
四、设置取消行号
set number ===> 设置行号
set nonumber ===> 取消设置行号
五、光标、屏幕焦点
h、j、k、l ===> 控制光标的上下左右移动
w ===> 向后移动一个单词,从词头到词头
e === > 向后移动一个单词,从词尾到词尾
b === > 向前移动一个单词,从词头到词头
Ctrl+F ===> 向前滚动一屏
Ctrl+B ===> 向后滚动一屏
Ctrl+D ===> 向前滚动半屏(向下)
Ctrl+U ===> 向后滚动半屏(向上)
Ctrl+E ===> 向下滚动一行,保持当前光标不动
Ctrl+Y ===> 向上滚动一行,保持当前光标不动
当前行滚动:
z+Enter ===> 当前行移动到屏幕顶部并滚动
nz+Enter ===> 滚动指定行到屏幕顶部
z + . === > 当前行移动到屏幕中央并滚动
z + - === > 当前行移动到屏幕底部并滚动
注意:以上的 + 是连接的意思,并不需要键盘输入
当前屏幕操作:
H ===> 移动到当前屏幕首行
nH ===> 移动到当前屏幕首行下的第n行
M ===> 移动到当前屏幕中间行
L ===> 移动到当前屏幕末行
nL ===> 移动到当前屏幕末行上面的第n行
六、跳转
nG ===> 跳转到第n行
gg ===> 跳转到行首
G ===> 跳转到行尾
n<space> ===> 光标向右移动n个字符
n<Enter> ===> 光标向下移动n行
七、缩进
命令行缩进:
[start] , [end] > [Enter] ===> 将从 start 行到 end 行的数据缩进一个 TAB
[start] , [end] < [Enter] ===> 将从 start 行到 end 行的数据取消缩进
注意:
1.start、end是数字,代表起始和终止行号
2.Enter代表回车,不是指输入该字符,而是指回车执行功能
3.> 和 < 是一个字符,需要靠键盘输入该字符
可视模式缩进:
将光标移动到需要缩进的起始行,进入可视化模式,然后控制键盘上的上下左右选中要缩进的行, 输入 > 或 < 设置或取消缩进
八、撤销、恢复
u ===> 撤销
ctrl + r ===> 恢复撤销
. (小数点) ===> 重复上一个操作
九、复制、移动
yy ===> 复制光标所在行的数据
nyy ===> 复制光标所在的向下n行的所有数据
注意:n为数字
y1G ===> 复制第一行到光标所在行的所有数据
yG ===> 复制光标所在行到最后一行的所有数据
ggyG ===> 全部复制
p(小写) ===> 将已复制的数据粘贴到光标所在的下一行
P(大写) ===> 将已复制的数据粘贴到光标所在的上一行
光标移动到起始行按 y'a 然后光标移动到结束行按 ma 最后按 [p | P] 粘贴
[start] , [end] copy [destination] ===> 复制从start行到end行的内容到第destination 行
[start] , [end] co [destination] ===> 复制从start行到end行的内容到第destination 行
[start] , [end] move [destination] ===> 移动从start行到end行的内容到第destination行
注意:
1.以上的 [start]、[end]、[destination] 均为数字
2.移动操作还可以结合删除(如dd等)指令和粘贴(p、P)指令实现
十、可视化模式
v ===> 字符可视化模式
V ===> 行可视化模式
ctrl + v ===> 块可视化模式
注意:进入可视化模式后,可以通过上下左右箭头控制被选范围
gg ===> 选中从文件开始到当前光标所在位置的数据
G ===> 选中从当前光标开始到文件结尾的数据
g? ===> 使用 rot 13 算法加密、解密选中的数据
u ===> 将选中的数据全部小写
U ===> 将选中的数据全部大写
J ===> 对选中的行进行合并,中间以空格隔开
gJ ===> 对选中的行进行合并,中间没有间隔符
sort ===> 对选中的数据按行进行排序
w ===> 高亮显示(选中)到下一个单词的开头
$ ===> 包含该行的其余部分
d ===> 剪贴选中数据(不包含光标所在字符)
D ===> 剪贴选中数据(包含光标所在字符)
x ===> 删除选中数据(不包含光标所在字符)
X ===> 删除选中数据(包含光标所在字符)
y ===> 复制选中数据(不包含光标所在字符)
Y ===> 复制选中数据(包含光标所在字符)
p ===> 粘贴复制内容到当前字符前
P ===> 粘贴复制内容到当前字符后
u ===> 撤销更改
> ===> 缩进一个TAB
< ===> 取消缩进
十一、插入
r [filepath] ===> 在当前光标所在行的下一行插入 filepath 文件中的内容
注意:
filepath为文件名,若没有指明路径,则默认读取当前目录下的filepath文件
十二、删除
dd === > 删除光标所在的那一行
ndd === > 删除光标所在的向下n行
x === > 向后删除一个字符
X === > 向前删除一个字符
nx === > 向后删除连续的n个字符
注意:n为数字
d1G === > 删除第一行到光标所在处的所有数据
dG === > 删除光标所在处到最后一行的所有数据
十三、查找
/ [word] ===> 向下查找[word]关键字
? [word] ===> 向上查找[word]关键字
n ===> 重复查找动作,即查找下一个
N ===> 重复查找动作,反向查找下一个
注意:以上的 n、N 为字符,并不是数字
ctrl + g ===> 显示当前光标所在位置占整个文件的比重
% ===> 跳转到当前括号(包括'(' '[' '{' ')' ']' '}' )的配对括号所在的位置
十四、替换
r ===> 替换选中的字符或字符串
详解:
光标选中要替换掉的字符(可以结合可视化模式选中多个字符),按下 r 键进入替换模式,再次输入一个字符替换掉被选中的字符,若选中多个字符,则每个字符都会替换成输入的从键盘输入的字符
cw ===> 删除从当前光标开始到下一个单词开始的数据,并进入插入模式,即俗称的 替换单词
详解:
c 即 change,意思是改变,w 即 word,意思是一个单词。同理 c2w、c3w、......也是这个道理
c$ ===> 删除从当前光标开始到行尾的数据,并进入编辑模式
s/old/new ===> 在当前光标所在行内替换头一个字符串 old 为新字符串 new
s/old/new/g === >在当前光标所在行内替换所有的字符串 old 为新字符串 new
.,$ s/old/new/g === > 从当前光标开始到文件结尾替换old字符串为new
n,$ s/old/new/g === > 从第 n 行开始到文件结尾替换old字符串为new
%s/old/new/g ===> 在整个文件内替换所有的字符串 old 为新的字符串 new
g/old/s//new/g ===> 在整个文件内替换所有的字符串 old 为新的字符串 new
s/old/new/gc === > 替换old为new时会询问用户
注意:
不加 g,表示只对搜索字符串的首次出现进行替换
g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作
g 放在命令末尾,表示对搜索字符串的每次出现进行替换
十五、执行外部命令
! [command] ===> 执行外部命令,输完命令后需要回车执行
注意:
command 是指Linux Shell命令,不是让你从键盘输入command
详解:
按ESC进入命令模式后,输入 ! 然后再输入一个Linux命令回车即可执行,再次回车后返回Vim
Linux学习,Vim以及Vi常用快捷键的更多相关文章
- Linux下VIM配置以及常用快捷键
一.VIM配置 在目录 /etc/vim下面,有个名为vimrc的文件,这是系统中公共的vim设置文件,对所有用户都有效.而在每个用户的主目录下,都能自己建立私有的设置文件,命名为:“.vimrc”. ...
- Linux学习笔记:vi常用命令
在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...
- Linux的vim和vi编辑器
vim和vi的基本介绍 所有的Linux 系统都会内建vi 文本编辑器. Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. 代码补完.编译及错 ...
- vi常用快捷键
vi常用快捷键 1)移动光标 h :光标左移一个字符k :光标上移一个字符j :光标下移一个字符l :光标右移一个字符 0 :光标移至行首$ :光标移至行尾 H :光标移至屏幕首行M :光标移至屏幕中 ...
- Linux学习笔记(四) vi编辑器
一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...
- Linux学习之十三-vi和vim编辑器及其快捷键
vi和vim编辑器及其快捷键 1.vi与vim区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. vim的这些优势主要体现在以下几个方 ...
- Linux学习笔记之VI(VIM)编辑器
百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1 进入和退出vi 进入:在终端命令行输入 vi ...
- linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名
PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
- linux学习笔记2-linux的常用命令
第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...
随机推荐
- vue新窗口跳转路由
this.$router.push()方法我在这就不多说了: 看代码: let newUrl = this.$router.resolve({ path: '/test/test' ...
- 01.UNIX基础知识
1.UNIX体系结构 什么叫做内核? 内核是一种软件,它控制计算机硬件资源,并提供程序的运行环境. 什么叫操作系统? 在广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,如可以 ...
- javaScript 基础知识汇总 (十四)
1.回调 什么是回调? 个人理解,让函数有序的执行. 示例: function loadScript(src,callback){ let script = document.createElemen ...
- Jupyter NoteBook 系列之 安装启动和常用设置
介绍 Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,目前支持运行 40 多种编程语言. Jupyter Notebook 的本质是一个 Web 应 ...
- Requests发Post请求data里面嵌套字典
一.Post请求,data里面嵌套字典 Requests发Post请求,data里面嵌套字典的常见形式如下: info = { "appid": "123", ...
- BNP Paribas Cardif Claims Management
2月20日: 查看任务介绍,二分类问题,评价标准logloss 下载数据 2月21~27日: 查看数据组成,标识分类变量.离散变量.连续变量. 发现连续数据有大量非随机空缺(占总量一半),主要集中在v ...
- 12. Java 获取指定字符第N次出现的位置
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo { //判断"Ab2Ad3 ...
- [剑指offer]6.从尾到头打印链表+18.删除链表节点
链表 6.从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 方法一 迭代 创建空列表res,将链表值head.val依次存进res,返回翻转后的res 代码 cl ...
- MS15-034漏洞复现、HTTP.SYS远程代码执行漏洞
#每次命令都百度去找命令,直接弄到博客方便些: 漏洞描述: 在2015年4月安全补丁日,微软发布的众多安全更新中,修复了HTTP.sys中一处允许远程执行代码漏洞,编号为:CVE-2015-1635( ...
- Flutter 使用阿里巴巴icon库
在Flutter默认创建的项目中可以使用系统Material图标,在pubspec.yaml文件中使用图标设置如下: flutter: uses-material-design: true 系统图标如 ...