こんにちは。ナミレリです。エディター環境をMacとUbuntuの両方でvimやVSCodeからNeovimに移行しています。Lua言語に慣れていない私ですが、Neovimの新しい環境をセットアップするのは楽しいですね。全てを自分好みにカスタマイズできます。Lua言語に慣れていない私でも、各プラグインの公式サイトやgithubを参考にし、ある程度はやりたいことを設定できるのでLua初心者にもわかりやすく紹介します。
この記事ではLua初心者でもわかりやすく、Neovimのインストールから、最初にやっておきたいNeovimの初期設定を紹介していきます。
この記事ではpacker.nvimを紹介していますが、2024年10月現在、より高速なでパフォーマンスが高く、また、プラグインの設定もスマートに記述することができるLazy.nvimがおすすめです。
この記事はこんな人にオススメ
- VSCode以外にもテキストエディタを試してみたい
- プログラミング初心者で、効率的なテキストエディタを使いたい方
- Vimに興味があり、よりモダンで拡張性に富んだエディタを試してみたい方
- すでにNeovimを使い始めたが、より深く活用したいと考えている方
- MacBook Pro 14インチ M1Max(メモリ32GB)
- macOS Ventura 13.3
- Parallels Desktop 18 for Mac(Parallelsの公式サイト)
- Neovim NVIM v0.9.0-dev-1339
- Ubuntu22.10
- Neovim NVIM v0.9.0-dev-613
目次
はじめに
Neovimは、高速で軽量、拡張性に富んだテキストエディタで、特にプログラマーの皆さんにとって非常に魅力的なテキストエディタです。この記事では、Neovimの魅力や使い方、おすすめのプラグインをご紹介し、初心者の方でも簡単に試していただけるように紹介していきます。
Neovimとは
Neovimは、Vimのソースコードを積極的にリファクタリングすることで、以下の目標を達成しようとするプロジェクトです。
- メンテナンスを簡素化することで、バグや機能のマージ速度を向上させる。
- 複数の開発者で作業を分担する。
- コアソースを変更することなく、新しいユーザーインターフェイスの実装を可能にする。
- コプロセスに基づく新しいプラグインアーキテクチャで、拡張性を向上させる。
- プラグインは、LuaやPythonなどの任意のプログラミング言語で開発することができます。
Neovimの特徴
今更ですが、Neovimの主な特徴を下にまとめてみます。
誤解を恐れずに一言で特徴を言うと、Neovimは「モダンで、カスタマイズ性が高く、マルチプラットフォーム対応で、軽量で高速!なエディター」です。
モダンである
長い歴史を持つVimのコードをベースにし、Vimの伝統的なエディタ機能を継承しつつ、現代的な開発に適した機能を追加しています。
カスタマイズ性が高い
プラグインをインストールしたり、細かな設定を書くことで自分好みのエディターにカスタマイズできます。プラグインはGitHubなどのリポジトリから簡単にインストールできます。プラグインの種類は例えば、自動補完、コード整形、カラースキーム、ChatGPTへのアクセスなど、様々な機能のプラグインがあります。
また、Neovimは、キーマップを自由にカスタマイズすることができます。良く使うコマンドのショートカットキーを割り当てることができ、そのカスタムキーマップを設定ファイルに保存して、複数のマシンで同じキーマップを使用することもできます。
マルチプラットフォーム対応
Windows、macOS、Linuxなどのさまざまなプラットフォームで動作します。(私は設定ファイルを一元管理してmacOSとLinuxで利用しています)
Neovimはマルチプラットフォームに対応しているので、プラットフォームに制限がなく、作業環境や開発環境を共有しやすくなります。
軽量で高速
軽く動作が速いエディターで、容量の大きなファイル、複数のファイルを同時に開いても処理が速いです。
Vimのコードをベースにスリムになっていること、マルチスレッドを採用しているため、バッファーの切り替えや処理が並列で行われること、非同期処理に対応しているため、バックグラウンドで処理を行いながら、ユーザーが入力することができること、などがその理由です。
操作スピードが速い
カーソル移動やコピー&ペーストなどの操作がキーボードでできるため、マウスから手を離さずに操作することができます。マウスで同じ操作をするよりも、圧倒的に速いスピードで操作することができます。これはプログラマーやライターなどの方には、効率が上がるので特に重要なことだと思います。
Neovimの学習曲線
Neovimの特徴をまとめていると、あらためて素晴らしいエディターだと発見がありますが、VimもNeovimも始めて使う方には学習曲線が急であることがよく言われます。
起動したけど、文字の入力すらできない、
終了したいけど、終了すらできない・・・。
ある程度の操作方法を覚えてしまえば一気に効率が高まります。私もそうですが初心者の方は、まずvimtutorをやってみるとレベルが上がります。
vimtutorでの学び方については以前に記事にしています。下の記事をぜひ参考にしてください。
それでは早速、Neovimをインストールするところからやっていきましょう。
Neovimのインストール
それでは早速Neovimをインストールしていきましょう。
MacにNeovimをインストールする
Macではbrewでインストールします。
Macにneovimをインストール
brew install neovim
なお、--HEADを付けることで最新の開発バージョンのHEADをインストールすることができますが、HEADは安定版ではないため自己責任でインストールしてください。通常はHEADではない安定版をインストールしてください。
MacにneovimのHEADをインストールする場合
brew install neovim --HEAD
UbuntuにNeovimをインストールする
最新のNeovimをUbuntuに簡単にインストールする方法は2つあります。
1つはsnapでインストールする方法、もう1つは非公式のリポジトリ(PPA:Personal Package Archive)を追加してインストールする方法です。それぞれ紹介します。
snapでインストールする
snapでNeovimをインストールする際に、--edgeを付けることで最新のedgeをインストールします。以下のようにします。
Ubuntuにsnapでインストール
sudo snap install nvim --edge --classic
PPAを追加してインストールする
PPAとはPersonal Package Archiveの略で、非公式のリポジトリです。下のようにリポジトリを追加して最新のNeovimをインストールすることができます。
PPAを追加する
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
Ubuntuにインストール
sudo apt install neovim
Neovimのバージョンを確認する
無事にインストールできました。下のコマンドでバージョンを確認しておきます。
nvim --version
Neovimのディレクトリ構成
Neovimの設定ファイルは~/.config/nvim/配下に置き、一般的にメインの設定ファイルは~/.config/nvim/init.luaです。(macOSやLinuxの場合)
ディレクトリ構成はこだわりや好みで自由に構成することができますが、この記事では下のように構成します。また、可能な限りLuaで設定ファイルを記載するようにします。設定ファイルをLuaで記述すると、より柔軟で高速な設定が可能になります。
~/.config/nvim/
├── init.lua
├── lua/
│ ├── autocmds.lua
│ ├── keymaps.lua
│ ├── options.lua
│ └── plugins.lua
└── plugin/
├── plugin_a.lua
├── plugin_b.lua
├── plugin_c.lua
└── plugin_d.lua
ディレクトリ・ファイル | 説明 |
---|---|
~/.config/nvim/init.lua | メインの設定ファイルです。 init.luaは各プラグインの読み込みや、 キーマップの読み込み、オプション設定ファイルの 読み込みを行います。 |
~/.config/nvim/lua/ | このフォルダにあるファイルをLuaモジュールとして require()することができます。 Neovimの各種の設定ファイルを分割して 配置するディレクトリです。 ここには、プラグインの設定、キーマップ、 オプション設定値、ユーティリティ関数などの 機能ごとに、複数のファイルを配置します。 |
~/.config/nvim/plugin/ | 各種プラグインの設定ファイルを配置します。 このディレクトリにはインストールした プラグインの設定ファイルを個別にまとめます。 |
知っておきたいLuaの基本
この記事ではNeovimの設定はなるべくLuaで書いていきますので、知っておきたいLuaの基本について少し紹介しておきます。Luaはシンプルで学びやすいスクリプト言語です。
Luaの変数とデータ型
変数を定義する際は、local
を使って以下のように宣言します。
(Luaにおける--はコメントです)
local number = 100
local text = "Hello, World!"
print(number) -- 100が表示される
print(text) -- Hello, World!が表示される
Luaのテーブル
Luaのテーブルは、連想配列(ハッシュマップ)として機能し、キーと値のペアでデータを保持します。テーブルは以下のように作成できます。
local my_table = {
key1 = "value1",
key2 = "value2"
}
print(my_table.key1) -- value1が表示される
print(my_table.key2) -- value2が表示される
print(my_table["key1"]) -- 同様にvalue1が表示される
Luaの制御構造
Luaでは、if、while、forなどの制御構造が使えます。
-- if文
local age = 18
if age >= 20 then
print("You are an adult.")
else
print("You are not an adult.")
end
-- whileループ
local i = 1
while i <= 5 do
print(i)
i = i + 1
end
-- forループ
for i = 1, 5 do
print(i)
end
Luaの関数
Luaで関数を定義するには、以下のように function を使います。
local function greet(name)
print("Hello, " .. name .. "!")
end
greet("John") -- "Hello, John!"が出力される
上の基本的なLuaの構文を理解しておくと、Neovimの設定ファイルを編集する際ずいぶんと楽になると思います。
参考:https://github.com/willelz/nvim-lua-guide-ja/blob/master/README.ja.md
Neovimの初期設定
では、Luaで設定ファイルを書いていきましょう。ターミナルはiTerm2を使います。iTerm2のインストール方法や初期設定についてはこちらをご覧ください。
ディレクトリやファイルの作成
まずは上で紹介した、Neovimのディレクトリ構成(空のディレクトリや空のファイル)を下のコマンドで作ります。
mkdir -p ~/.config/nvim/lua && \
touch ~/.config/nvim/init.lua && \
touch ~/.config/nvim/lua/autocmds.lua && \
touch ~/.config/nvim/lua/keymaps.lua && \
touch ~/.config/nvim/lua/options.lua && \
touch ~/.config/nvim/lua/plugins.lua
options.luaの設定
では、初期設定でやるべき設定を~/.config/nvim/lua/options.luaに書きます。
nvim ~/.config/nvim/lua/options.lua
以下は私の設定内容で、おすすめの設定内容です。
設定値を変えながらお気に入りの自分だけのカスタマイズをしてみてください。
~/.config/nvim/lua/options.lua
-- lang
-- vim.cmd('language en_US.utf8') -- 表示言語を英語にする(Linux)
vim.cmd('language en_US') -- 表示言語を英語にする(Mac)
-- ファイル
vim.opt.fileencoding = "utf-8" -- エンコーディングをUTF-8に設定
vim.opt.swapfile = false -- スワップファイルを作成しない
-- vim.opt.helplang = "ja" -- ヘルプファイルの言語は日本語
vim.opt.hidden = true -- バッファを切り替えるときに
--ファイルを保存しなくてもOKに
-- カーソルと表示
-- vim.opt.cursorline = true -- カーソルがある行を強調
-- vim.opt.cursorcolumn = true -- カーソルがある列を強調
-- クリップボード共有
vim.opt.clipboard:append({ "unnamedplus" }) -- レジスタとクリップボードを共有
-- メニューとコマンド
vim.opt.wildmenu = true -- コマンドラインで補完
vim.opt.cmdheight = 1 -- コマンドラインの表示行数
vim.opt.laststatus = 2 -- 下部にステータスラインを表示
vim.opt.showcmd = true -- コマンドラインに入力されたコマンドを表示
-- 検索・置換え
vim.opt.hlsearch = true -- ハイライト検索を有効
vim.opt.incsearch = true -- インクリメンタルサーチを有効
vim.opt.matchtime = 1 -- 入力された文字列がマッチするまでにかかる時間
-- カラースキーム
vim.opt.termguicolors = true -- 24 ビットカラーを使用
vim.opt.background = "dark" -- ダークカラーを使用する
-- インデント
vim.opt.shiftwidth = 4 -- シフト幅を4に設定する
vim.opt.tabstop = 4 -- タブ幅を4に設定する
vim.opt.expandtab = true -- タブ文字をスペースに置き換える
vim.opt.autoindent = true -- 自動インデントを有効にする
vim.opt.smartindent = true -- インデントをスマートに調整する
-- 表示
vim.opt.number = true -- 行番号を表示
vim.opt.relativenumber = true -- 相対行番号を表示
vim.opt.wrap = true -- テキストの自動折り返しを無効に
vim.opt.showtabline = 2 -- タブラインを表示
-- (1:常に表示、2:タブが開かれたときに表示)
vim.opt.visualbell = true -- ビープ音を表示する代わりに画面をフラッシュ
vim.opt.showmatch = true -- 対応する括弧をハイライト表示
-- インタフェース
vim.opt.winblend = 0 -- ウィンドウの不透明度
vim.opt.pumblend = 0 -- ポップアップメニューの不透明度
vim.opt.showtabline = 2 -- タブラインを表示する設定
vim.opt.signcolumn = "yes" -- サインカラムを表示
---- 行番号の色を変更(色は適宜変更してください)
vim.cmd("highlight LineNr guifg=#8a70ac")
-- カーソルの形状
vim.o.guicursor = "n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20"
-- 行の強調
vim.opt.cursorline = true -- カーソルがある行を強調
-- signcolumnの優先順位(エラー/警告/ヒントの表示順)
vim.diagnostic.config({ severity_sort = true })
最後のsigncolumnの優先順位は、まさに私も悩んでいたことで、以下のサイトでとてもわかりやすく解説されています。
init.luaからロードする
~/.config/nvim/init.luaから~/.config/nvim/lua/options.luaをロードします。
nvim ~/.config/nvim/init.lua
~/.config/nvim/init.lua
require("options")
nvimで立ち上げてみましょう。nvimの終了は:q!です。
プラグインマネージャーのインストール
プラグインマネージャーのpacker.nvimをインストールします。packer.nvimはLuaで書かれているので設定も含めてLuaで統一でき、またパフォーマンスも最適化されます。とても人気のあるプラグインマネージャです。
公式リポジトリ:https://github.com/wbthomason/packer.nvim
この記事ではpacker.nvimを紹介していますが、2024年10月現在、より高速なでパフォーマンスが高く、また、プラグインの設定もスマートに記述することができるLazy.nvimがおすすめです。
packer.nvimのインストール
公式リポジトリのクイックスタートにならってインストールします。
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim
plugins.luaの設定
packer.nvimをインストールしたら、この記事では公式リポジトリのREADME.mdの例にあるとおり、packer.nvimの設定を~/.config/nvim/lua/plugins.luaに書きます。
nvim ~/.config/nvim/lua/plugins.lua
~/.config/nvim/lua/plugins.lua
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
--
-- この下にインストールするプラグインを記載します。
-- use 'プラグインA'
-- use 'プラグインB'
--
end)
次にこのファイルを~/.config/nvim/init.luaからロードします。
init.luaからロードする
~/.config/nvim/init.luaから~/.config/nvim/lua/plugins.luaをロードします。
nvim ~/.config/nvim/init.lua
~/.config/nvim/init.lua
require("options") -- <-- 先程追加済です
require("plugins") -- <-- 今回追加します
これでプラグインマネージャであるpacker.nvimの設定は完了です。次は実際にプラグインをインストールしつつ、packer.nvimの使い方を紹介します。
packer.nvimの使い方
プラグインマネージャだけをインストールし設定しただけでは意味がないので、実際にpacker.nvimを使ってプラグインをインストールしてみます。
まずは見た目をかっこ良くしたいのでカラーテーマであるtokyonight.nvimをインストールしてみます。
- STEP
~/.config/nvim/lua/plugins.luaへ設定を記載
nvim ~/.config/nvim/lua/plugins.lua
~/.config/nvim/lua/plugins.lua
vim.cmd [[packadd packer.nvim]] return require('packer').startup(function(use) -- Packer can manage itself use 'wbthomason/packer.nvim' -- -- この下にインストールするプラグインを記載します。 use 'folke/tokyonight.nvim' -- <-- この行を追加 end)
- STEP
:PackerInstallする
nvimを起動して、:PackerInstallするとplugins.luaに書かれていてインストールされていないプラグインをインストールしてくれます。
- STEP
カラーテーマを設定する
カラーテーマを設定するにはnvimを起動して、:colorscheme tokyonight-nightとします。
tokyonight.nvimのカラーテーマには、tokyonight-night以外にも上の補完候補のようにいくつかありますので、設定を変えてお気に入りのテーマを見つけてください。
- STEP
init.luaに設定しておく
:colorscheme tokyonight-nightを(例えば)init.luaに設定しておくことで毎回カラーテーマを設定する必要がないようにします。
nvim ~/.config/nvim/init.lua
~/.config/nvim/init.lua
require("options") -- <-- 先程追加済です require("plugins") -- <-- 先程追加済です vim.cmd[[colorscheme tokyonight-night]] -- 今回追加 -- 上記は、vimコマンドでcolorscheme tokyonight-nightを実行するという意味
これでnvimを起動するとカラースキームが設定されているはずです。
packer.nvimのコマンド
プラグインマネージャのpacker.nvimには便利なコマンドがありますので紹介します。
PackerClean
:PackerCleanは、packer.nvimプラグインマネージャーで、コメントアウトで無効化されたプラグインを削除するためのコマンドです。
PackerCompile
:PackerCompileは、プラグインの設定をコンパイルするためのコマンドです。コンパイル済みのローダーファイルが再生成され、nvim起動時にプラグインが効率的に読み込まれることでパフォーマンスが向上します。
プラグインの設定を変更するたびに、:PackerCompileを実行する必要があります。
PackerInstall
:PackerInstallは、プラグインをインストールするコマンドです。プラグイン設定に新しいプラグインを追加したら:PackerInstallを実行してそのプラグインをインストールします。
PackerUpdate
:PackerUpdateは、インストール済みのプラグインを更新するためのコマンドです。加えて、インストールしていないプラグインがあれば、それもインストールしてくれます。
:PackerUpdateを定期的に実行することで、プラグインを最新の状態に保つことができますのでセキュリティの観点からも定期的に実行したいです。
また、--previewのオプションを指定することで、実際に更新する前に更新内容を確認することができます。
PackerSync
:PackerSyncは、プラグインの更新(インストール)とコンパイルを一度に行うことができるコマンドで、:PackerUpdateと:PackerCompileを一度に行います。
プラグインの設定を更新したり、追加した場合は:PackerSyncを実行すれば楽ですね。
PackerStatus
:PackerStatusは、インストールされているプラグインの一覧を表示するためのコマンドです。
各プラグインの名前や状態(有効/無効)、ディレクトリへのパスが表示されます。追加されたプラグインが正しくインストールされているか確認することができますね。
便利なブートストラップスクリプト
事前にpacker.nvimをインストールしていなくても、packer.nvimのインストール状態をチェックし、必要な場合は自動的にpacker.nvimをインストールするように設定することもできます。
公式リポジトリのこちらの記載通りにやってみましょう。
~/.config/nvim/lua/plugins.luaに下のように編集します。
nvim ~/.config/nvim/lua/plugins.lua
~/.config/nvim/lua/plugins.lua
local ensure_packer = function()
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
vim.cmd [[packadd packer.nvim]]
return true
end
return false
end
local packer_bootstrap = ensure_packer()
-- vim.cmd([[packadd packer.nvim]])
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
--
-- この下にインストールするプラグインを記載します。
use 'folke/tokyonight.nvim'
end)
インサートモードを抜ける時にIMEをオフにする
VimやNeovimにはモードという概念があります。最初は取っつきにくいと思いますが、慣れるととても便利で手放せなくなります。ただ、IMEをオンにして日本語を入力したり、IMEを切り替えて英語を入力したりする際に、とてももどかしいことがおこります。これを解決するのがim-selectとim-select.nvimです。
まずはim-selectをインストール
brew tap daipeihust/tap
brew install im-select
/opt/homebrew/bin/im-selectにインストールされます。
which im-select
/opt/homebrew/bin/im-select
im-selectコマンドを実行すると、現在のIMEを確認することができます。
現在のIMEを確認
im-select
com.justsystems.inputmethod.atok34.Roman
次に、Neovimからim-selectを制御する、im-select.nvimをインストールします。純粋なLuaで書かれたプログラムです。
下の設定を~/.config/nvim/lua/plugins.luaに書き、その後:PackerInstallします。
use 'keaising/im-select.nvim'
次に下記の設定を~/.config/nvim/init.luaに書きます。
require('im_select').setup {
default_im_select = "com.justsystems.inputmethod.atok34.Roman"
}
これだけの設定で十分に機能するはずです。
具体的には、インサートモードを抜ける時にIMEがオフになり、再度インサートモードに入ると前回のインサートモードのIME状態になります。
便利な起動オプション
nvim
を起動する際の便利なオプションを紹介します。
1. 複数のファイルを開く
ファイルを複数一度に開くことができます。縦に分割する水平分割、横に分割する垂直分割、タブ(バッファ)で開く、の主に3つの開き方があります。
オプション | 説明 |
---|---|
-o | -o はファイルを水平分割で開きます |
-O | -O はファイルを垂直分割で開きます。 |
-p | -p は各ファイルを新しいタブで開きます |
-- 縦に分割する水平分割で開く
nvim -o test1.lua test2.lua
-- 横に分割する垂直分割で開く
nvim -O test1.lua test2.lua
-- タブで開く
nvim -p test1.lua test2.lua
2. 起動時に設定ファイルを指定する
起動時に設定ファイルを指定して起動することができます。設定ファイル(init.luaやplugins.lua)を読み込むには、-u
オプションを使ってnvim
を起動します。
nvim -u /path/to/your/init.lua
3. 起動時に設定ファイルを読み込まない
起動時に設定ファイルを読み込まずに起動することもできます。-u
の後にNONE
を付けます。
nvim -u NONE
設定ファイルに誤りがある場合などに良く使います。
4. 起動時間を測定する
nvimの起動時間を測定し、起動ログを指定したファイルに保存することができます。どのプラグインの読み込みが遅いかなど、nvimの遅延の原因を調べることができます。
nvim --startuptime ./startuptime.log
-- 〜 省略 〜
110.755 000.114 000.114: require('noice.message.manager')
110.833 000.076 000.076: require('noice.ui.state')
110.933 000.077 000.077: require('noice.util.stats')
110.976 000.541: first screen update
110.977 000.001: --- NVIM STARTED ---
覚えておきたいカーソル移動系のコマンド
基本的なカーソル移動
コマンド | 説明 |
---|---|
h | 左に移動 |
j | 下に移動 |
k | 上に移動 |
l | 右に移動 |
0 | 行の先頭に移動 |
$ | 行の末尾に移動 |
^ | 行の最初の非空白文字へ移動 |
単語単位のカーソル移動
コマンド | 説明 |
---|---|
w | 次の単語の先頭へ |
W | 空白で区切られた次の単語の先頭へ |
b | 前の単語の先頭へ |
B | 空白で区切られた前の単語の先頭へ |
e | 次の単語の末尾へ |
E | 空白で区切られた次の単語の末尾へ |
行単位・段落単位のカーソル移動
コマンド | 説明 |
---|---|
gg | ドキュメントの先頭へ |
G | ドキュメントの末尾へ |
{ | 前の段落へ |
} | 次の段落へ |
H | 画面の上端へ |
M | 画面の中央へ |
L | 画面の下端へ |
文字検索で移動
コマンド | 説明 |
---|---|
f+ {char} | 文字{char}まで移動 |
F+ {char} | 文字{char}まで逆方向に移動 |
t+ {char} | 文字{char}の前の文字まで移動 |
T+ {char} | 文字{char}の後の文字まで逆方向に移動 |
; | 文字検索の移動を繰り返す |
, | 文字検索の移動を逆方向に繰り返す |
スクロール
コマンド | 説明 |
---|---|
ctrl+f | 1画面分下へスクロール |
ctrl+b | 1画面分上へスクロール |
サーチに関連する移動
コマンド | 説明 |
---|---|
/[キーワード] | 下方向へキーワードを検索 |
?[キーワード] | 上方向へキーワードを検索 |
n | 同方向へ次の検索結果へ |
N | 反対方向へ次の検索結果へ |
マッチする括弧・ブラケットへの移動
コマンド | 説明 |
---|---|
% | カーソル位置の括弧やブラケットの対になるものへジャンプ |
マーク・ブックマーク関連
コマンド | 説明 |
---|---|
mx | xに現在位置をマーク(xは任意の英字) |
'x | マークxの行の先頭にジャンプ:'は(shift+7) |
`x | マークxの位置へジャンプ:`は(shift+@) |
その他の移動
コマンド | 説明 |
---|---|
ctrl+u | 半画面分上へスクロール |
ctrl+d | 半画面分下へスクロール |
ctrl+o | 前の位置へ戻る |
ctrl+i | ctrl + o の逆の動作 |
最後に
最後まで読んでいただきありがとうございます。Neovimの最初にやっておきたい初期設定はいかがでしたでしょうか。NeovimやVimは自分好みにとことんカスタマイズできる使いやすいテキストエディターです。最初は独特の操作を覚える必要がありますが、一度覚えると無くてはならない存在になり、魅力的なエディターになることは間違いないのでぜひ活用してみてください。
次は、クールでカッコイイ見た目と機能を重視したプラグインを厳選して紹介しています。下の記事をぜひご覧ください。
NeovimとHHKBの組み合わせは、コーディング体験を最適化し、より生産的で満足のいくものにするための最高のツールです。コーディングの楽しさと効率性を新たなレベルへと引き上げてくれます。
neovim関連記事
Neovimをかっこ良くクールに使う設定