1. ホーム
  2. c++

VimでC++のプログラムを書く

2022-02-16 02:27:44
<パス

前文

最近寂しい日が続いているので、何度もあきらめるほど始めさせられたVimのことを考えずにはいられません。冷たい理論やコマンドに飽きないようにするのは大変です。そこで、大好きなC++のプログラムを書くことから始める、タスク駆動型の学習方法を採用しようと思います〜。

設定ファイルの修正

最も原始的なvimでコードを書くのはまだ非常に不親切なので、まずvimの設定ファイルを変更してもう少し使いやすくする必要があります。

において ~ ディレクトリに ls -a という名前のファイルがあるかどうかを確認するために .vimrc これはvimの設定ファイルです。なければ自分で作ればいいのです。

設定ファイルの中身は、この記事の最後にある 付録 "vimの設定に詳しくない方は、そのままコピー&ペーストすることをお勧めします。(実際、私もそうやって他の人をコピーしていたので、プレッシャーは感じないでください)

Vimで初めてのC++プログラム

設定ファイルを変更した後、私たちのvimはずっと良くなり、C++プログラムを書き始めることができます。

$ vim hello.cpp


vimの編集モードで、vim上の最初のC++プログラムを入力します(hello worldは単なる慣習で、好きなものを入力できます)。

#include 

using namespace std;
int main()
{
	cout << "hello world!" << endl;
	return 0;
}


ファイルを保存した後 g++ コマンドでコンパイルします。

$ g++ hello.cpp


コンパイルすると a.out というファイルがあり、これが実行ファイルです。

$ ls
a.out luogu_2249.cpp


最後に、コマンド . /a.out このファイルを実行すると、hello worldのコンソール出力が表示されます。

$ . /a.out
hello world!


さて、簡単なC++プログラミングにvimを使えるようになりましたが、このvimは基本的なニーズを満たすだけで、コードヒントもなく、全然ダメですね。後であきらめなければ、vimのプラグインをインストールする記事を更新してください。

付録

設定ファイルの全容は以下の通りです。

" Show line numbers
set number

" Show ruler
set ruler

" History
set history=1000

" Show the commands entered
set showcmd

" The status line is displayed
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}

" start status display line 1, always display status line 2
set laststatus=2

" Syntax highlighting
syntax on
set fileencodings=utf-8,gb2312,gbk,cp936,latin-1
set fileencoding=utf-8
set termencoding=utf-8
set fileformat=unix
set encoding=utf-8

" color scheme
colorscheme desert
" Specify that the color scheme is 256 colors
set t_Co=256

set wildmenu

" Remove the vi consistency mode to avoid some bugs and limitations of the previous version and to solve the problem of backspace not working
set nocompatible
set backspace=indent,eol,start
set backspace=2
" Enable auto-alignment to apply the alignment format of the previous line to the next line
set autoindent

" Smart alignment based on the above format, useful for C-like writing
set smartindent

" vim disables automatic backup
set nobackup
set nowritebackup
set noswapfile

" Replace tabs with spaces
set expandtab

" Set the number of space characters for tab display, improve the tab indent value, the default is 8, now change to 4
set tabstop=4

" Uniform indent to 4, convenient to use backspace key after opening et, each backspace will delete X spaces
set softtabstop=4

" set auto indent to 4 characters, the length of space used for auto indent in the program
set shiftwidth=4

" set the help file to Chinese (need to install vimcdoc documentation)
set helplang=cn

" Show matching parentheses
set showmatch

" Indent the file and the number of tabs
au FileType html,python,vim,javascript setl shiftwidth=4
au FileType html,python,vim,javascript setl tabstop=4
au FileType java,php setl shiftwidth=4
au FileType java,php setl tabstop=4
" Highlight the searched string
set hlsearch

" Detect the file type
filetype on
filetype plugin on
filetype indent on

" C style indent
set cindent
set completeopt=longest,menu

" Function settings

" Remove input error sound
set noeb

" Auto-save
set autowrite

" Highlight the current line 
set cursorline

" Highlight the current line
set cursorcolumn

" set cursor style to vertical bar
" Change cursor shape between insert and normal mode in iTerm2.app
if $TERM_PROGRAM =~ "iTerm"
let &t_SI = "\<Esc>]50;CursorShape=1\x7" " Vertical bar in insert mode
let &t_EI = "\<Esc>]50;CursorShape=0\x7" " Block in normal mode
endif

" Share clipboard
set clipboard+=unnamed

" Auto-load when files are changed
set autoread
" keep the top and bottom 3 lines apart
set scrolloff=3



IDEはいい匂いがしませんか?vimでXをインストールしますか?おい、自分の道を行けよ、他人に語らせろよ。