【virtualbox+ubuntu】&vim基本操作(1114-1116)

virtualbox+ubuntu

下載virtualbox軟件【5.2.22適用於win10、4.3.12適用於win7】、ubuntu系統鏡像【LTS穩定更新版4年】【ubuntu 12.04 LTS desktop.iso】

下載安裝基礎步驟

  1. 安裝並運行virtualbox(默認路徑安裝),新建虛擬機;
  2. 設置虛擬機內存大小,至少1024MB;
  3. 創建虛擬硬盤,掛載系統鏡像;
  4. 安裝系統;
  5. 重啓後更新操作系統、安裝功能增強包;
  6. 安裝vim、g++,設置終端的字體、配色、背景圖片。

操作系統基礎命令

基礎命令 含義
/ 根據目錄
/bin 普通命令的存儲目錄
/boot 操作吸引啓動的相關文件
/dev 設備文件(會把硬件設備抽象成設備文件)
/etc 各種配置文件
/home 用戶主目錄,每個用戶都有一個以用戶名命名的目錄
/lib 靜態、共享庫文件
/media 多媒體設備,共享文件就在這個目錄下
/mnt 掛載其他存儲設備,可以外接,也可以是網絡的
/opt 軟件的安裝位置,大多數軟件會安裝在這個目錄下
/proc 程序運行時的情況記錄(包括打開的文件、內存使用情況、網絡使用情況等)
/root 超級用戶相關的目錄
/run 操作系統運行時的相關的文件
/sbin 具有超級權限才能使用的一些命令,(使用時要加sudo)
/selinux 防火牆
/sys 硬件設備的驅動
/tmp 臨時文件的存儲目錄,重啓後消失
/usr 各種頭文件的存儲目錄

特殊目錄說明

符號 含義
/ 根據目錄
~ 當前用戶的主目錄
當前目錄的上一級
. 當前目錄,一般用來幫助尋找文件

Linux常用系統命令舉例

// 顯示文件或目錄
ubuntu@:~$ ls
a.out             lalala            main.c     模板  文檔  桌面
examples.desktop  lalala_link.txt~  text.txt~  視頻  下載
first.c           lalala.txt~       公共的     圖片  音樂
//進入 桌面 目錄下
ubuntu@:~$ cd 桌面
//返回上一級目錄
ubuntu@:~/桌面$ cd ..
//顯示當前目錄所在絕對位置
ubuntu@:~$ pwd
/home/ubuntu
//創建文件hi.c
ubuntu@:~$ touch hi.c
//顯示文件hi.c內容
ubuntu@:~$ cat hi.c
#include<stdio.h>
int main()
{

printf("hello world!\n");

return 0;


}
//編譯文件hi.c
ubuntu@:~$ gcc hi.c
//顯示編譯結果
ubuntu@:~$ a.out
hello world!

注意:瞭解更多基礎命令點這裏

vim及其基本操作

vim是一款功能強大、支持各種插件、配置極爲靈活的編輯器。

基本的用法

  1. 進入vim,vim 文件名。文件存在則直接打開,不存在則創建,此時只能閱讀代碼或修改代碼,不適合編寫代碼。
  2. 輸入 i,進入插入模式,可以正常編寫代碼。
  3. 代碼編寫完成後,按Ctrl + x執行,按enter返回,輸入i繼續編寫。
  4. Ctrl + z保存退出。

vim的三大模式介紹

  1. 正常模式:剛進入時的模式,在此模式下適合閱讀代碼、修改代碼。
  2. 插入模式:此模式下適合編寫代碼。
  3. 行底模式:進行配置vim,執行vim相關命令。

vim三大模式的切換

輸入i
輸入:
按esc或者ctrl+c
按esc或ctrl+c
正常模式
插入模式
行底模式

注意:插入模式與行底模式之間不能直接切換,必須由正常模式跳轉。

vim三大模式中基礎命令

正常模式

光標移動

基礎命令 含義
hjkl 上下左右移動光標
PgUpPgDn 上下翻頁
homeend 行首、行尾
n+ Enter 向後跳轉n行
n+G 跳轉到n行

刪除代碼

基礎命令 含義
x 刪除一個字符
d +w/d +e 刪除一個單詞
d +$ 刪除到行尾
d +d 刪除整行
n+d +d 刪除n行

複製代碼

基礎命令 含義
y +y 複製整行
n+y +y 複製n行
p 粘貼到下一行

替換代碼

基礎命令 含義
r 替換一個字符
c+w/c+e 替換一個單詞

撤銷與反撤銷

基礎命令 含義
u 撤銷之前的操作
Ctrl + r 取消撤銷操作

插入模式

此模式下主要用來編寫代碼,因此快捷鍵不多。

基礎命令 含義
Ctrl + i 相當於製表符tab鍵
Ctrl + p 代碼補全
Ctrl + j 回車符
Ctrl + c 返回正常模式

行底模式

  1. 可以執行系統命令,!cmd,執行完成後按 Enter返回vim;
  2. 對vim進行一些配置:
    set nu 顯示行號
    set nonu 不顯示行號
    set ts=4 設置tab寬度;

注意:在行底模式下進行一些設置都只是臨時有效,想要長久有效需要把這些命令寫入到配置文件中。

  1. 執行vim的一些命令
基礎命令 含義
q 退出
q! 強制退出(打開沒有權限的文件後進行操作修改)
w 寫入
wq(x) 保存退出
  1. 設置代碼縮進
基礎命令 含義
> + n n行代碼向右移動一下
< + n n杭代碼向左移動一下
  1. 查找
    /key
    n 向下查找下一個。N向上查找下一個。
  2. 替換
    %s/old//new

vim配置舉例1

  1 "顯示行號
  2 set number
  3 "不顯示行號,正常模式輸入:進入行底模式,set nonumber
  4 "設置tab鍵的寬度,默認是8,一般配置爲4
  5 set tabstop=4
  6 "設置縮進的寬度
  7 set shiftwidth=4
  8 "使用空格代替tab,在makefile中縮進要使用tab
  9 set noexpandtab
 10 "自動保存
 11 set autowrite
 12 "不生成臨時文件
 13 set noswapfile
 14 "自動縮進
 15 set autoindent
 16 "智能縮進
 17 set smartindent
 

vim配置舉例2

 19"---快捷編譯---
 20 "1編譯函數
 21 func! CompileCode()
 22     "寫入文件
 23     exec "w"
 24     "判斷文件類型
 25     if &filetype == "cpp"
 26         exec "!g++ % && ./a.out"
 27         elseif &filetype == "c"
 28             exec "!gcc -std=gnu99 % -lm -lpthread && ./a.out"
 29         endif
 30 endfunc
 31 
 32 "2映射快捷鍵
 33 map <C-x> :call CompileCode()<CR>
 34 imap <C-x> <ESC>:call CompileCode()<CR>
 35 vmap <C-x> <ESC>:call CompileCode()<CR>

vim配置舉例3

 37 "---快捷保存退出---
 38 "1保存退出函數
 39 func! SaveExit()
 40     exec "wq"
 41 endfunc
 42 
 43 "2映射快捷鍵
 44 map <C-z> :call SaveExit()<CR>
 45 imap <C-z> <ESC>:call SaveExit()<CR>
 46 vmap <C-z> <ESC>:call SaveExit()<CR>
 

TEST

001 helloworld

 1 #include<stdio.h>
  2 int main()
  3 {
  4 
  5 printf("hello world!\n");
  6 
  7 return 0;
  8 
  9 
 10 }

002 冒泡排序

 1 #include <stdio.h>
  2 void bubbleSort(int a[], int n){
  3     int i, j ,tmp;
  4     for(i=0;i<n-1;++i){
  5         for(j=0;j<n-1-i;++j){
  6             if(a[j]>a[j+1]){
  7                 tmp=a[j];
  8                 a[j]=a[j+1];
  9                 a[j+1]=tmp;
 10                 }
 11             }
 12         }
 13 }
 14 int main(){
 15     int i, a[8]={3,1,5,7,2,4,9,6};
 16     bubbleSort(a,8);
 17       for(i=0;i<8;++i)
 18           printf("%d",a[i]);
 19           return 0;
 20     }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章