一.常用工具介紹
前言:
我們想要編寫c語言代碼,可以使用linux系統提供的工具才能進行代碼的編輯。代碼編寫后,我們還需要驗證代碼的書寫正確。這就需要借助編譯器來進行驗證。linux系統為我們提供了比較好的開發工具。
vim編輯器: 書寫代碼的工具
gcc編譯器: 編譯代碼的工具
二.vim編輯器的安裝
1.Vim檢測是否安裝
##輸入vivi
2.Vim安裝過程
sudo apt install vim
? ? 2-若顯示以下界面,說明vim-common版本過低
3-輸入以下命令,將vim-common依賴刪除sudo apt purge vim-common4-再次輸入sudo apt install vim即可安裝,輸入Y同意,等待安裝完成即可。
3.Vim配置
sudo vim /etc/vim/vimrc
##個人常用配置(其余配置可自行查找)set ai 自動縮進,與上一行保持一致的自動空格
set ic 在查詢模型與匹配模式下忽略大小寫
set number 左側顯示行號
set showmatch 顯示括號配對,并高亮顯示相匹配的括號
set showmode 文本輸入模型下,加亮顯示模式指示器
set showcmd 在狀態欄顯示所執行的指令,未完成的指令片段
set warn 長行顯示自動折行
set cindent 以C/C++模式縮進
set ruler 打開狀態欄標尺
set scrolloff=6 設置光標離窗口上下6行時窗口自動滾動
set tabstop=4 設置Tab長度為4
set wrap 自動換行顯示
syntax enable
syntax on 自動語法高亮
三.編輯器的基本操作
假設有一個hello.c的文件
模式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 使用方法
命令模式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?vim+hello.c默認打開的,默認不能書寫帶代? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?碼,只能進行復制粘貼等操作
插入模式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???按下小寫的i鍵,在終端的左下角會出現一個? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? insert的關鍵字,可以進入插入模式,書寫代碼
底行模式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?代碼書寫完畢,按下esc退出插入模式。再按下? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? shift+:可以使用以下指令
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?w:保存? write的縮寫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?q:退出 quit的縮寫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?a: 所有? all的縮寫
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?i: 強制執行
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 常用指令:wq? q!
1.vim編輯的高級操作
注:以下操作要求在命令模式下進行(按下esc,可進入命令模式)
? ? ? ? ? ?a.vim切換命令
命令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 功能
a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(Append)進入編輯狀態,從當前光標之后的位置開始插入鍵盤輸入的字符
i? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Insert)? 進入編輯狀態,從當前光標之前的位置開始插入鍵盤輸入的字符
o? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (open)? 進入編輯狀態,并插入新的一行,光標移到該新行的行首,以后鍵盤輸入的字符將插入到光標? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?位置
esc? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進入命令狀態
:!command? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在vi中執行外部命令command,按回車鍵可以返回vi繼續工作
? ? ? ? ? ? ? ??
b.vim拷貝與粘貼命令
命令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 功能
[N]x? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Expurgate)刪除從光標位置開始的連續N個字符(并復制到編輯緩沖區)
[N]dd? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Delete)刪除從光標執行的連續N行(并復制到緩沖區)
[N]yy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Yank)復制從光標位置開始的連續N行到編輯緩沖區
p或P? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(Put)從編輯緩沖區復制文本到當前光標位置(粘貼)
u? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Undo) 取消上一次的操作(即恢復功能)
?c.vim保存與退出指令
命令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 功能
:q? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (Quit)退出沒有修改的文件(若文件被修改了而沒有保存,則此命令無效)
:q!? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 強制退出,且不保存修改過的部分
:w? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 保存文件但不退出
:x? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(Exit)保存文件并退出