一些Linux的基本知识在半年前的游戏生涯已经所剩无几了,更是在经过上班摸鱼时在CSDN里翱翔,见识到了这么多大佬,我这小菜鸡也开始为未来担忧,决定开始慢慢学习和整理,现在就从Linux最最最基础的编辑器开始,希望今天立的这个flag可以督促我学习吧。
一,Vi
1.vi的进入和退出(vim一样)
$ vi project.c
命令行模式[按Esc],Shift+
:w //写
:q //不写退
:wq //写和退
如果没效果就加!
别告诉我这个有人不知道,应该不会有比我更菜的菜鸡了吧。
交换文件 ".project.c.swp" 已存在!
以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 退出((Q)), 中止((A)):
出现这种情况,要么有swp文件,如果q或者q!出去发现没有,那就是另一个你打开了文件。
2.、vi的复制,删除
以下全是命令行模式用,#代表数字
(1)删除
[x]: 删除光标后一个字符
[#x]: 删除光标后面#个字符
[X]: 大写,删除光标前一个字符
[#X]: 删除光标前#个字符
[dd]: 删除光标所在行
[#dd]:删除光标所在行开始的#行
(2)复制
[yw]: 复制光标所在位置到字尾的字符
[#yw]: 复制#个字符
[yy]: 复制光标所在行
[#yy]: 复制#行
[p]: 粘贴,与前y天生一对
(3)回到过去
[u]:撤回一次
3,vi其他操作
(1)移动光标
上下左右键
or
[k] [j] [h] [l]
/
[ctrl] + [b]:屏幕往 后 移动 一 页
[ctrl] + [f]:屏幕往 前 移动 一 页
[ctrl] + [u]:屏幕往 后 移动 半 页
[ctrl] + [d]:屏幕往 前 移动 半 页
[0]: 移动到开头
[G]: 移动到最后
[$]: 移动到行尾
[^]: 移动到行首
[w]: 移动到下一个字所在行字首
[e]: 移动到下一个字所在行字尾
[b]: 移动到上一个字所在行字首
[#1]:移动到该行第#个位置
(2)替换
[r]:替换光标所在处字符
[R]:替换自光标所在处开始至[Esc]结束的字符
(3)跳至指定行
[ctrl] + [g]:显示光标所在处行号
[#G]: 移动至#行
[set nu]: 底行模式下,列出文件每行行号
4,底行模式命令(shift + :)
(1)查找字符
[/关键字]:[n]到下一个关键字
[?关键字]:[n]到下一个关键字
(2)查找和替换
:s/old/new //替换该行第一个old为new
:s/old/new/g //替换整行所有old为new
:#,#s/old/new/g //替换#和#行之间出现的old为new
:%s/old/new/g //替换全文的old为new
:%s/old/new/gc //替换全文的old为new,每替换一个需要确认
(3)找配对的括号
[%]
5,调用外部命令和外部文件
(1)在vi内部执行外部命令
:!ls
:!who
.....................
(2)保存和删除文件
:w filename
:!dir
:!rm filename
(3)具有选择性的保存命令
:#,# w filename
(4)提取,合并文件
:r otherfile //将otherfile文件的内容提取到当前vi中
5,多文件编辑
:n filename //编辑另一个文件
:N filename //编辑上一个文件
:files //列举vi目前打开的文件
6,多窗口操作
:sp [filename]
ctrl-w-j //移到下一个窗口
ctrl-w-k //移到上一个窗口
ctrl-w-q //退出当前窗口
vim与vi相似,但是用起来更方便
以上内容如果你曾经见过,说不定我们看的是同一本书哦!