环境:window下可以使用gvim编辑软件 学习主要是在ubuntu15敲击命令
学习的视频来自于智普教育vim使用视频1. sudo apt show vi 查看安装的vi版本,当然了我的ubuntu两个都能看到已安装 sudo apt show vim 根据视频上所说,ubuntu默认安装的都是vim-tiny这一版本,这一版本下vim键盘方向键不能使用,退格键,delete键都不能使用sudo apt show vim-tiny 查看安装的vim-tinycd /usr/bin目录下
ls -l vi 查看vi的安装目录sudo apt search vim 查找vim的安装包,具体是什么没弄明白
sudo apt install vim 安装完整版,增强版。我的提示安装的vim runtime安装完成后的vim会比原来的好用多了。
2.vim的基本使用
2.1进入 touch hello 创建文件 vi hello 打开文件 进入到vim,vim处于一般操作模式, 不可写入文字,只能进行一些操作 这种状态称为 vim一般操作模式。 移动光标 拷贝,删除,粘贴 2.2输入 按i进入到编辑模式,由操作模式进入到编辑模式 vim编辑完一行以后,推荐按esc后o键进入下一行。 按esc之后按k可以向上移动光标 建议只有在你想要编辑文件的时候才进入编辑模式,一般情况下建议在一般模式就行 a键在光标的前面插入 i光标前插入 2.3保存 esc进入一般模式, :号进入末行命令模式 :w保存 :q退出 :wq存盘退出 :q!不保存退出 2.4退出 :q退出 :wq存盘退出 :q!不保存退出 练习代码 #include <stdio.h>int main(int argc, char * argv[])
{ printf("hello world!\n"); return 0; }3.vim单文件里面复制与粘贴操作 shift + o 是在光标的上一行增加一行 在一般模式下也就是esc模式下按 yy表示复制 p表示当前行下面粘贴 shift + p(大写) 表示当前行上面粘贴 一般模式下x表示删除字符4yy复制当前行下4行
剪切 ndd dd删除当前行 ndd 删除当前开始连续的n行替换模式 一般模式
r 想替换的字符 就替换了练习代码#include <stdio.h>int add(int a, int b){ return a + b;}int minus(int a, int b){ return b - a;}int main(int argc, char * argv[])
{ int sum = 0, x = 12, y = 14; printf("hello world!\n"); sum = add(x, y); printf("x = %d y = %d sum = %d\n",x, y, sum); sum = minus(x, y); printf("x = %d y = %d min = %d\n",x, y, sum); return 0;}4.vim多文件间赋值与粘贴操作 cp hello.c math.c 复制文件。到math文件里面把main函数删除 10dd删除10行 8dd删除8行 不分屏方式多文件间文字拷贝 :e math.c 调用别的文件到vim, 执行完复制命令后, :e hello.c 回原来的文件。 执行粘贴操作 分屏复制 sp math.cs上下分屏显示两个文件 两个文件窗口的切换 ctrl + ww 窗口之间的切换。vsp垂直分屏
:wqall 全部文件存盘退出vi里面显示行号
:set nu 显示行号 :set nonu 不显示行号 vi 语法高亮 :syntax off 关闭语法高亮 :syntax on 开启语法高亮练习代码
math.c#include <stdio.h>int add(int a, int b){ return a + b;}int minus(int a, int b){ return b - a;}hello.cinclude <stdio.h>int add(int a, int b){ return a + b;}int minus(int a, int b){ return b - a;}int main(int argc, char * argv[]){ int sum = 0, x = 12, y = 14; printf("hello world!\n"); sum = add(x, y); printf("x = %d y = %d sum = %d\n",x, y, sum); sum = minus(x, y); printf("x = %d y = %d min = %d\n",x, y, sum); return 0;}5.vim 查找 处于一般模式下。
esc / 查找,光标会自动到出现的位置。 n键上下切换匹配的值。shift + k查看帮助文档
q退出 /是搜索是当前光标往下搜索。 ?是当前光标往上搜索。 n 下一个 shift + n上一个6.vim 替换
:起点,终点s/被替换的字符串/替换成的字符串 :2,9s/int/float :2,9s/int/float/g /g表示全部替换。 :%s/int/float/g %表示全文u撤销操作
:%s/int/float/gc comfir表示要需要确认。