水墨风格网站,百事通网做网站,西樵营销网站制作,佛山 网站1.vim的基本操作
正常模式到插入模式
输入a
输入i
输入o
示例
输入iao下面的就会变成INSERT模式 插入模式到正常模式
按Esc键
正常模式到低行模式
shift#xff1b;
#xff1a;w保存当前文件
#xff1a;wq保存并退出
#xff1a;q#xff01;强制退出
2.vi…1.vim的基本操作
正常模式到插入模式
输入a
输入i
输入o
示例
输入iao下面的就会变成INSERT模式 插入模式到正常模式
按Esc键
正常模式到低行模式
shift
w保存当前文件
wq保存并退出
q强制退出
2.vim正常模式命令集
移动光标
用箭头的上下左右或者hjkl来控制h左j下k上l右
按G到最后一行
移动到光标所在行的行尾
^移动到所在行的首
gg文本的开始
删除文字
x没按一次删除光标所咋位置的一个字符
X删除光标所在位置的前一个字符
dd删除在行
复制
yy复制光标所在行到缓冲区
#yy如7yy表示拷贝光标所在行往下数7行文字
p将缓冲区内的字符贴到所在位置
替换
r替换光标所在处的字符
R替换光标所到之处的字符直到按Esc
撤销上一次操作
u回到上一个操作
ctrlr撤销的恢复
跳到指定行
#G10G就到第十行的首 3.简单vim的配置
配置文件的位置
在目录/etc/下面有个vimrc的文件是系统中公共的vim的配置文件对所有用户都有效。
在每个普通用户的主目录下都可以自己建立私有的配置文件命名为“.vimrc ”打开自己目录下的文件.vimrc通过 vim .vimrc
常用的配置选项
设置语法高亮syntax on
显示行号set nu
设置缩进的空格数为4set shiftwidth4 4.编译器gcc/g
2.1背景知识
1.预处理(进行宏替换/去注释/条件编译/头文件展开等)
2.编译(生成汇编)
3.汇编(生成机器可识别代码二进制)
4.链接(生成可执行文件或库文件)
2.2预处理 gcc -E hello.c -o hello.i 选项 -E,该选项作用是让gcc在预处理后停止编译过程
选项-o是指定文件.i文件为已经预处理的C原始程序
代码示例
rootiZbp1be068ksa92vuf0kbdZ:~# touch c.c
rootiZbp1be068ksa92vuf0kbdZ:~# vim c.c
rootiZbp1be068ksa92vuf0kbdZ:~# gcc -E c.c -o hello.i
rootiZbp1be068ksa92vuf0kbdZ:~# vim hello.i2.3编译 gcc -S hello.i -0 hello.s 使用-S选项进行查看该选项进行到编译就停止生成汇编代码
代码示例
rootiZbp1be068ksa92vuf0kbdZ:~# gcc -S hello.i -o hello.s
rootiZbp1be068ksa92vuf0kbdZ:~# vim hello.s2.4汇编
汇编阶段是把编译阶段生成的“.s”文件转成目标文件
用“-c”选项可以看到汇编代码已经转换为“.o”的二进制代码 gcc -c hello.s -o hello.o 代码示例
rootiZbp1be068ksa92vuf0kbdZ:~# gcc -c hello.s -o hello.o
rootiZbp1be068ksa92vuf0kbdZ:~# vim hello.o二进制 1 ^?ELF^B^A^A^^^^^^^^^^A^^^A^^^^^^^^^^^^^^^^^^^^B^^^^^^^^^^^^^^^^^N^^M^ó^O^^úUH89?H8d^E^^^^H89??^^^^è^^^^?^^^^]?hello world^^GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0^^^^^^^D^^^^P^^^^E^^^GNU^^B^^?^D^^^^C^^^^^^^^T^^^^^^^^AzR^^Ax^P^A^[^L^G^H90^A^^^\^^^^\^^^^^^^#^^^^E^N^P86^BC^ M^FZ^L^G^H^^^^^^^^^^^^^^^^^^^^^^^^^^^^A^^^^D^??^^^^^^^^^^^^^^^^^^^^^C^^A^^^^^^^^^^^^^^^^^^^^^^C^^E^^^^^^^^^^^^^^^^ ^^E^^^^R^^A^^^^^^^^^#^^^^^^^2 ^^^^P^^^^^^^^^^^^^^^^^^^^c.c^main^printf^^^^^^^^^K^^^^^^^^B^^^^C^^^ü???????^X^^^^^^^^D^^^^E^^^ü??????? ^^^^^^^^B^^^^B^^^^^^^^^ ^^^.symtab^.strtab^.shstrtab^.rela.text^.data^.bss^.rodata^.comment^.note.GNU-stack^.note.gnu.property^.rela.eh_frame^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^A^^^^F^^^^^^^^^^^^^^^^^^^^^^#^^^^^^^^^^^^^^^^A^^^^^^^^^^^^^^^^[^^^^D^ ^^^^^^^^^^^^^^^^^?^A^^^^^^0^^^^^^^^K^^^^A^^^^H^^^^^^^^X^^^^^^^^^^^A^^^^C^^^^^^^^^^^^^^^c^^^^^^^^^^^^^^^^^^^^^ ^^^A^^^^^^^^^^^^^^^,^^^^H^^^^C^^^^^^^^^^^^^^^c^^^^^^^^^^^^^^^^^^^^^^^^A^^^^^^^^^^^^^^^1^^^^A^^^^B^^^^^^^^^^^^ ^^^c^^^^^^^^L^^^^^^^^^^^^^^^^A^^^^^^^^^^^^^^^9^^^^A^^^0^^^^^^^^^^^^^^^o^^^^^^^,^^^^^^^^^^^^^^^^A^^^^^^^^A^^^^ ^^^B^^^^A^^^^^^^^^^^^^^^^^^^9b^^^^^^^^^^^^^^^^^^^^^^^^A^^^^^^^^^^^^^^^R^^^^G^^^^B^^^^^^^^^^^^^^^?^^^^^^^ ^^^ ^^^^^^^^^^^^^H^^^^^^^^^^^^^^^j^^^^A^^^^B^^^^^^^^^^^^^^^?^^^^^^^8^^^^^^^^^^^^^^^^H^^^^^^^^^^^^^^^e^^^^D^^^^^^ ^^^^^^^^^^^^?^A^^^^^^^X^^^^^^^^K^^^ ^^^^H^^^^^^^^X^^^^^^^^A^^^^B^^^^^^^^^^^^^^^^^^^?^^^^^^^90^^^^^^^^L^^^^D^ ^^^H^^^^^^^^X^^^^^^^ ^^^^C^^^^^^^^^^^^^^^^^^^88^A^^^^^^^Q^^^^^^^^^^^^^^^^A^^^^^^^^^^^^^^^^Q^^^^C^^^^^^^^^^^^^^ ^^^^^è^A^^^^^^t^^^^^^^^^^^^^^^^A^^^^^^^^^^^^^^^