Edit direktori di dalam Vim


9

Apakah mungkin mengedit direktori di dalam Vim? (Beberapa perintah berfungsi untuk direktori).

Saya ingin tahu jenis operasi apa yang dapat dilakukan dalam direktori di dalam Vim. Vim dapat membuka direktori untuk diedit, saya percaya ini akan memiliki perintah juga untuk bekerja dengannya. Tetapi perintah yang biasa berlaku berbeda untuk direktori.

Misalnya, menekan Idan mengetik nama file dan menyimpan direktori. Ketika saya memberi ls, itu akan menunjukkan file itu.

Jawaban:


9

Saya berasumsi Anda menggunakan di netrwsini, karena itu adalah tindakan default ketika Anda melakukannya vim .atau vim some/directory/.

Anda dapat membuat file / direktori dari netrwdengan perintah berikut:

d : create a directory, you will be prompted to input the directory name
% : create a file, same workflow

Lihat :h netrwuntuk informasi lebih lanjut.


3

Benar-benar sudut yang berbeda, tetapi berfungsi tanpa harus menginstal ...

Ketika saya ingin membuat atau mengganti nama direktori dari sesi Vim yang sedang berjalan , saya cukup mengetik :!diikuti dengan perintah shell yang sesuai, melakukan sesuatu seperti berikut ini:

Untuk Linux

  • :! mkdir newdir untuk membuat direktori
  • :! mv newdir renamed_dir untuk mengganti nama direktori

Untuk Windows

  • :! mkdir newdir untuk membuat direktori
  • :! move newdir renamed_dir untuk mengganti nama direktori

Sejauh yang saya tahu, Anda benar-benar dapat menjalankan perintah shell apa pun yang Anda suka dengan cara ini tanpa harus keluar dari Vim atau harus membuka jendela terminal terpisah.


Terima kasih. tapi saya tidak bertanya tentang perintah shell. Saya ingin menjelajahi opsi yang terkait dengan direktori pengeditan, seperti kami mengedit file.
SibiCoder

2
Perlu juga mengetahui plugin github.com/tpope/vim-eunuch .
nobe4

1
+1 karena tidak menciptakan kembali roda
Gila
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.