Vim のインストールと起動

PC

Windows 版のインストール

公式

https://www.vim.org/
ダウンロードページから最新版のインストーラーが入手できます。
https://www.vim.org/download.php#pc

NeoVim

https://github.com/neovim/neovim
開発版と安定版のインストーラーと実行ファイルが入手できます。
https://github.com/neovim/neovim/releases/

香り屋版

https://www.kaoriya.net/software/vim/
Windows 版の 8.2(2023/6 現在)の実行ファイルが入手できます。

普段 Vim も terminal も背景を透明にして使用しているのですが、Windows 版は公式も NeoVim も set transparency がエラーになってしまい背景が透明になりませんでした。なので現在香り屋版を使用しています。

MacVim のインストール

Mac は標準で Vim がインストールされていますが、バージョンが古いのと GUI 版がないので、新たに MacVim を新ストールします。

macvim-dev サイトから dmg をダウンロードしてインストール

Redirecting to https://macvim.org

ターミナルからコマンドで起動できるようにします。
:h macvim-start の記載を参考に PATH を設定します。

To be able to easily use it, put this folder in your path:
/Applications/MacVim.app/Contents/bin
For example, if you use zsh, you can put the following in ~/.zprofile:
export PATH=”/Applications/MacVim.app/Contents/bin:$PATH”

$ export PATH="/Applications/MacVim.app/Contents/bin:$PATH"

# bash の初期化ファイルにも追記
$ vi ~/.bashrc
export PATH="/Applications/MacVim.app/Contents/bin:$PATH"

Homebrew でインストール

$ brew install macvim
Running `brew update --preinstall`...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
terminalimageviewer                                                                                         usbutils
==> Updated Formulae
Updated 72 formulae.
==> Updated Casks
Updated 38 casks.

Warning: Treating macvim as a formula. For the cask, use homebrew/cask/macvim
Warning: You are using macOS 10.14.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Twitter or any other official channels. You are responsible for resolving
any issues you experience while you are running this
old version.

==> Downloading https://ghcr.io/v2/homebrew/core/macvim/manifests/8.2-171_1
Already downloaded: /Users/terunao.matsushima/Library/Caches/Homebrew/downloads/f31e9b6044ed9a743641afd500fc8e2027ea82d904eea27432f1b17bfc03013f--macvim-8.2-171_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/macvim/blobs/sha256:a13d4c099c2f0769bfb31fdbafcf9c3a6dd53e583b82d0f2076f39310118ac8b
Already downloaded: /Users/terunao.matsushima/Library/Caches/Homebrew/downloads/d9258601a2db4bbfe219e0ce76d6a52f2937ada22de2cd7dd4a17ff2bbbed195--macvim--8.2-171_1.mojave.bottle.tar.gz
==> Pouring macvim--8.2-171_1.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/macvim/8.2-171_1: 2,446 files, 47.7MB
==> `brew cleanup` has not been run in the last 30 days, running now...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /usr/local/Cellar/python/3.7.6_1... (864 files, 11.7MB)
Warning: Directory not empty @ dir_s_rmdir - /usr/local/Cellar/python/3.7.6_1
Pruned 0 symbolic links and 8 directories from /usr/local

Ubuntu

Linux ではほぼインストール済みの CUI 版を使用しています。

デスクトップ版の Ubuntu に vim-gtk3 をインストールしてみました。残念ながら set transparency がエラーになってしまい背景が透明になりませんでした。

$ gvim
コマンド 'gvim' が見つかりません。次の方法でインストールできます:
sudo apt install vim         # version 2:8.2.3995-1ubuntu2.7, or
sudo apt install vim-tiny    # version 2:8.2.3995-1ubuntu2.7
sudo apt install neovim-qt   # version 0.2.16-1
sudo apt install vim-athena  # version 2:8.2.3995-1ubuntu2.7
sudo apt install vim-gtk3    # version 2:8.2.3995-1ubuntu2.7
sudo apt install vim-nox     # version 2:8.2.3995-1ubuntu2.7

$ sudo apt install vim-gtk3
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libflashrom1 libftdi1-2 libllvm13
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  fonts-lato javascript-common libjs-jquery liblua5.2-0 libruby3.0 rake ruby
  ruby-net-telnet ruby-rubygems ruby-webrick ruby-xmlrpc ruby3.0
  rubygems-integration vim-gui-common
提案パッケージ:
  apache2 | lighttpd | httpd ri ruby-dev bundler cscope fonts-dejavu
  gnome-icon-theme vim-doc
以下のパッケージが新たにインストールされます:
  fonts-lato javascript-common libjs-jquery liblua5.2-0 libruby3.0 rake ruby
  ruby-net-telnet ruby-rubygems ruby-webrick ruby-xmlrpc ruby3.0
  rubygems-integration vim-gtk3 vim-gui-common
アップグレード: 0 個、新規インストール: 15 個、削除: 0 個、保留: 20 個。
10.9 MB のアーカイブを取得する必要があります。
この操作後に追加で 43.5 MB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 fonts-lato all 2.0-2.1 [2,696 kB]
取得:2 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 javascript-common all 11+nmu1 [5,936 B]
取得:3 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 libjs-jquery all 3.6.0+dfsg+~3.5.13-1 [321 kB]
取得:4 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 liblua5.2-0 amd64 5.2.4-2 [125 kB]
取得:5 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 rubygems-integration all 1.18 [5,336 B]
取得:6 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 ruby3.0 amd64 3.0.2-7ubuntu2.3 [50.1 kB]
取得:7 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 ruby-rubygems all 3.3.5-2 [228 kB]
取得:8 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 ruby amd64 1:3.0~exp1 [5,100 B]
取得:9 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 rake all 13.0.6-2 [61.7 kB]
取得:10 http://us.archive.ubuntu.com/ubuntu jammy/main amd64 ruby-net-telnet all 0.1.1-2 [12.6 kB]
取得:11 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 ruby-webrick all 1.7.0-3 [51.8 kB]
取得:12 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 ruby-xmlrpc all 0.3.2-1ubuntu0.1 [24.9 kB]
取得:13 http://us.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libruby3.0 amd64 3.0.2-7ubuntu2.3 [5,112 kB]
取得:14 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 vim-gui-common all 2:8.2.3995-1ubuntu2.7 [89.7 kB]
取得:15 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 vim-gtk3 amd64 2:8.2.3995-1ubuntu2.7 [2,086 kB]
10.9 MB を 6秒 で取得しました (1,765 kB/s)                                     
以前に未選択のパッケージ fonts-lato を選択しています。
(データベースを読み込んでいます ... 現在 224814 個のファイルとディレクトリがインストールされています。)
.../00-fonts-lato_2.0-2.1_all.deb を展開する準備をしています ...
fonts-lato (2.0-2.1) を展開しています...
以前に未選択のパッケージ javascript-common を選択しています。
.../01-javascript-common_11+nmu1_all.deb を展開する準備をしています ...
javascript-common (11+nmu1) を展開しています...
以前に未選択のパッケージ libjs-jquery を選択しています。
.../02-libjs-jquery_3.6.0+dfsg+~3.5.13-1_all.deb を展開する準備をしています ...
libjs-jquery (3.6.0+dfsg+~3.5.13-1) を展開しています...
以前に未選択のパッケージ liblua5.2-0:amd64 を選択しています。
.../03-liblua5.2-0_5.2.4-2_amd64.deb を展開する準備をしています ...
liblua5.2-0:amd64 (5.2.4-2) を展開しています...
以前に未選択のパッケージ rubygems-integration を選択しています。
.../04-rubygems-integration_1.18_all.deb を展開する準備をしています ...
rubygems-integration (1.18) を展開しています...
以前に未選択のパッケージ ruby3.0 を選択しています。
.../05-ruby3.0_3.0.2-7ubuntu2.3_amd64.deb を展開する準備をしています ...
ruby3.0 (3.0.2-7ubuntu2.3) を展開しています...
以前に未選択のパッケージ ruby-rubygems を選択しています。
.../06-ruby-rubygems_3.3.5-2_all.deb を展開する準備をしています ...
ruby-rubygems (3.3.5-2) を展開しています...
以前に未選択のパッケージ ruby を選択しています。
.../07-ruby_1%3a3.0~exp1_amd64.deb を展開する準備をしています ...
ruby (1:3.0~exp1) を展開しています...
以前に未選択のパッケージ rake を選択しています。
.../08-rake_13.0.6-2_all.deb を展開する準備をしています ...
rake (13.0.6-2) を展開しています...
以前に未選択のパッケージ ruby-net-telnet を選択しています。
.../09-ruby-net-telnet_0.1.1-2_all.deb を展開する準備をしています ...
ruby-net-telnet (0.1.1-2) を展開しています...
以前に未選択のパッケージ ruby-webrick を選択しています。
.../10-ruby-webrick_1.7.0-3_all.deb を展開する準備をしています ...
ruby-webrick (1.7.0-3) を展開しています...
以前に未選択のパッケージ ruby-xmlrpc を選択しています。
.../11-ruby-xmlrpc_0.3.2-1ubuntu0.1_all.deb を展開する準備をしています ...
ruby-xmlrpc (0.3.2-1ubuntu0.1) を展開しています...
以前に未選択のパッケージ libruby3.0:amd64 を選択しています。
.../12-libruby3.0_3.0.2-7ubuntu2.3_amd64.deb を展開する準備をしています ...
libruby3.0:amd64 (3.0.2-7ubuntu2.3) を展開しています...
以前に未選択のパッケージ vim-gui-common を選択しています。
.../13-vim-gui-common_2%3a8.2.3995-1ubuntu2.7_all.deb を展開する準備をしています ...
vim-gui-common (2:8.2.3995-1ubuntu2.7) を展開しています...
以前に未選択のパッケージ vim-gtk3 を選択しています。
.../14-vim-gtk3_2%3a8.2.3995-1ubuntu2.7_amd64.deb を展開する準備をしています ...
vim-gtk3 (2:8.2.3995-1ubuntu2.7) を展開しています...
javascript-common (11+nmu1) を設定しています ...
fonts-lato (2.0-2.1) を設定しています ...
rubygems-integration (1.18) を設定しています ...
ruby-net-telnet (0.1.1-2) を設定しています ...
ruby-webrick (1.7.0-3) を設定しています ...
liblua5.2-0:amd64 (5.2.4-2) を設定しています ...
libjs-jquery (3.6.0+dfsg+~3.5.13-1) を設定しています ...
ruby-xmlrpc (0.3.2-1ubuntu0.1) を設定しています ...
vim-gui-common (2:8.2.3995-1ubuntu2.7) を設定しています ...
rake (13.0.6-2) を設定しています ...
libruby3.0:amd64 (3.0.2-7ubuntu2.3) を設定しています ...
vim-gtk3 (2:8.2.3995-1ubuntu2.7) を設定しています ...
update-alternatives: /usr/bin/vim (vim) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/vimdiff (vimdiff) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/rvim (rvim) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/rview (rview) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/vi (vi) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/view (view) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/ex (ex) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/editor (editor) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/gvim (gvim) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/gview (gview) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/rgview (rgview) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/rgvim (rgvim) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/evim (evim) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/eview (eview) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
update-alternatives: /usr/bin/gvimdiff (gvimdiff) を提供するために自動モードで /usr/bin/vim.gtk3 を使います
ruby3.0 (3.0.2-7ubuntu2.3) を設定しています ...
ruby (1:3.0~exp1) を設定しています ...
ruby-rubygems (3.3.5-2) を設定しています ...
man-db (2.10.2-1) のトリガを処理しています ...
mailcap (3.70+nmu1ubuntu1) のトリガを処理しています ...
fontconfig (2.13.1-4.2ubuntu5) のトリガを処理しています ...
desktop-file-utils (0.26-1ubuntu3) のトリガを処理しています ...
gnome-menus (3.36.0-1ubuntu3) のトリガを処理しています ...
libc-bin (2.35-0ubuntu3.1) のトリガを処理しています ...

$ gvim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 18 2023 11:40:57)
適用済パッチ: 1-3995, 4563, 4646, 4774, 4895, 4899, 4901, 4919
Modified by team+vim@tracker.debian.org
Compiled by team+vim@tracker.debian.org
Huge 版 with GTK3 GUI.  機能の一覧 有効(+)/無効(-)
+acl               +file_in_path      +mouse_urxvt       -tag_any_white
+arabic            +find_in_path      +mouse_xterm       +tcl
+autocmd           +float             +multi_byte        +termguicolors
+autochdir         +folding           +multi_lang        +terminal
-autoservername    -footer            -mzscheme          +terminfo
+balloon_eval      +fork()            +netbeans_intg     +termresponse
+balloon_eval_term +gettext           +num64             +textobjects
+browse            -hangul_input      +packages          +textprop
++builtin_terms    +iconv             +path_extra        +timers
+byte_offset       +insert_expand     +perl              +title
+channel           +ipv6              +persistent_undo   +toolbar
+cindent           +job               +popupwin          +user_commands
+clientserver      +jumplist          +postscript        +vartabs
+clipboard         +keymap            +printer           +vertsplit
+cmdline_compl     +lambda            +profile           +vim9script
+cmdline_hist      +langmap           -python            +viminfo
+cmdline_info      +libcall           +python3           +virtualedit
+comments          +linebreak         +quickfix          +visual
+conceal           +lispindent        +reltime           +visualextra
+cryptv            +listcmds          +rightleft         +vreplace
+cscope            +localmap          +ruby              +wildignore
+cursorbind        +lua               +scrollbind        +wildmenu
+cursorshape       +menu              +signs             +windows
+dialog_con_gui    +mksession         +smartindent       +writebackup
+diff              +modify_fname      +sodium            +X11
+digraphs          +mouse             +sound             -xfontset
+dnd               +mouseshape        +spell             +xim
-ebcdic            +mouse_dec         +startuptime       +xpm
+emacs_tags        +mouse_gpm         +statusline        +xsmp_interact
+eval              -mouse_jsbterm     -sun_workshop      +xterm_clipboard
+ex_extra          +mouse_netterm     +syntax            -xterm_save
+extra_search      +mouse_sgr         +tag_binary        
-farsi             -mouse_sysmouse    -tag_old_static    
      システム vimrc: "$VIM/vimrc"
      ユーザー vimrc: "$HOME/.vimrc"
   第2ユーザー vimrc: "~/.vim/vimrc"
       ユーザー exrc: "$HOME/.exrc"
     システム gvimrc: "$VIM/gvimrc"
     ユーザー gvimrc: "$HOME/.gvimrc"
  第2ユーザー gvimrc: "~/.vim/gvimrc"
  デフォルトファイル: "$VIMRUNTIME/defaults.vim"
    システムメニュー: "$VIMRUNTIME/menu.vim"
       省略時の $VIM: "/usr/share/vim"
コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wdate-time -g -O2 -ffile-prefix-map=/build/vim-tMLXRZ/vim-8.2.3995=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 
リンク: gcc -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lselinux -lcanberra -lsodium -lacl -lattr -lgpm -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.34/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.10/config-3.10-x86_64-linux-gnu -lpython3.10 -lcrypt -ldl -lm -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lm -lruby-3.0 -lm -L/usr/lib 

起動

CUI 版の場合はターミナルから vi または vim で起動できます。Mac の場合は vi では元々インストールされている古いバージョンの Vim が起動するようです。

GUI 版であればアプリケーション一覧から起動できます。ターミナルからは gvim (MacVim は mvim) で起動できます。
ターミナルから GUI 版の起動

vim 設定

起動時に設定ファイル ~/.vimrc が読み込まれます。
:e ~/.vimrc で設定ファイルを開き、ファイルを編集背したら :w で上書き保存し、:source ~/.vimrc で設定を再読み込みします。~/.vimrc の代わりに $MYVIMRC が使えます。
私が使用している設定を記載します。

"設定を再読み込みするコマンド
"source $MYVIMRC

"デフォルト設定ファイルを読み込む
unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim

"tmpディレクトリがなかったら作成
if !isdirectory($HOME."/tmp")
    call mkdir($HOME."/tmp")
endif
"バックアップファイル
set backup
"バックアップファイル作成ディレクトリ dir/file.txt~
"set backupdir=.,~/tmp,~/
set backupdir=~/tmp
"スワップファイル(クラッシュ復帰用ファイル)
set swapfile
"スワップファイル(クラッシュ復帰用ファイル)作成ディレクトリ dir/file.txt.swp
"set directory=.,~/tmp,/var/tmp,/tmp
set directory=~/tmp
"アンドゥファイル
set undofile
"アンドゥファイル作成ディレクトリ dir/.file.txt.un~
"set undodir=.
set undodir=.~/tmp

"vimの内部エンコーディング(windows gvimがcp932になっていて.vimrcを正常に読み込めないので指定)
set encoding=utf-8
"文字コード自動判別
"set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
"改行コード自動判別
"set fileformats=unix,dos,mac
"一部全角文字の表示幅
set ambiwidth=double

"タブの代わりにスペースを挿入
"set expandtab
"タブのスペース数
set tabstop=4
"インデントする場合のスペース数
set shiftwidth=4

"折り畳み
set foldmethod=marker

"行番号表示
set number
"カーソル行強調
set cursorline
"シンタックスハイライト
syntax enable
"検索にマッチするテキストを強調表示 :nohで現在の強調表示を消す(機能自体は無効にしない)
set hlsearch
"タブ、行末スペース、行末、表示はみ出し、ノーブレークスペース文字の表示用文字
set listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:%
"set listchars=tab:>-,trail:-,eol:<,extends:>,precedes:<,nbsp:%
"タブ、行末スペース、行末、表示はみ出し、ノーブレークスペース文字の表示
set list

"全てのモードでマウスを使用
set mouse=a
"クリップボード使用 unnamed:クリップボードレジスタ* autoselect:ビジュアル選択範囲が自動でクリップボードに入る
set clipboard=unnamed
"フォント
if has('win32') || has('win64')
set guifont=MS\ ゴシック:h9:cSHIFTJIS:qDRAFT
"set guifont=BIZ\ UDゴシック:h8:cSHIFTJIS:qDRAFT
elseif has('mac')
set guifont=Andale\ Mono:h9
"set guifont=Monaco:h8
endif

"GUI でしか認識しないオプション
if has("gui_running")
if has('win32') || has('win64')
set transparency=220
elseif has('mac')
set transparency=20
endif
"GUI 開始
gui
"以降 GUI 開始していないと認識しないコマンド
endif
"テーマ
if has('win32') || has('win64') || has('mac')
colorscheme evening
endif

コメント

タイトルとURLをコピーしました