カレントディレクトリをバッファのファイルが存在するディレクトリへ変更する Vim / Neovim プラグインです。
:CD コマンドまたは <Space>cd キーマップを使用して、現在編集中のファイルが置かれているディレクトリをカレントディレクトリ(ウィンドウローカル)に設定します。
このプラグインは Vim 向けの VimScript 版と Neovim 向けの Lua 版の両方を提供しています。
plugin/changecurrentdir.vim
vim-plug の場合:
Plug 'redtower/vim-change-currentdir'dein.vim の場合:
call dein#add('redtower/vim-change-currentdir')手動インストール:
plugin/changecurrentdir.vim を Vim の plugin ディレクトリへ配置してください。
| 操作 | 説明 |
|---|---|
:CD |
現在のバッファのファイルが存在するディレクトリへ移動し、移動先を表示する |
:CD {dir} |
指定したディレクトリへ移動し、移動先を表示する |
:CD! |
現在のバッファのファイルが存在するディレクトリへ移動する(表示なし) |
<Space>cd |
:CD を実行するキーマップ |
例:
" 現在のバッファのディレクトリへ移動
:CD
" 指定ディレクトリへ移動
:CD /path/to/dir
" 移動後のパス表示なし
:CD!lua/changecurrentdir.lua
lazy.nvim の場合:
{
'redtower/vim-change-currentdir',
config = function()
require('changecurrentdir')
end,
}packer.nvim の場合:
use {
'redtower/vim-change-currentdir',
config = function()
require('changecurrentdir')
end,
}手動インストール:
lua/changecurrentdir.lua を Neovim の lua ディレクトリへ配置し、init.lua に以下を追加してください。
require('changecurrentdir')VimScript 版と同じコマンド・キーマップが利用できます。
| 操作 | 説明 |
|---|---|
:CD |
現在のバッファのファイルが存在するディレクトリへ移動し、移動先を表示する |
:CD {dir} |
指定したディレクトリへ移動し、移動先を表示する |
:CD! |
現在のバッファのファイルが存在するディレクトリへ移動する(表示なし) |
<Space>cd |
:CD を実行するキーマップ |
例:
-- init.lua でのロード
require('changecurrentdir')
-- モジュールとして関数を直接呼び出すことも可能
local ccd = require('changecurrentdir')
ccd.change_current_dir('', '') -- カレントバッファのディレクトリへ移動
ccd.change_current_dir('/path/to/dir', '') -- 指定ディレクトリへ移動- VimScript 版と Lua 版は共存できます。ただし、両方をロードすると
:CDコマンドと<Space>cdキーマップが重複して登録されるため、どちらか一方のみをロードしてください。 - ディレクトリの変更には
lcd(ウィンドウローカル)を使用しています。cd(グローバル)に変更したい場合はソースを修正してください。
MIT