Quindi, quando voglio creare un nuovo file usando il comando: e, non voglio specificare l'intero percorso, ma solo il nuovo nome file. Può essere fatto?Come impostare la directory di lavoro/corrente in Vim?
risposta
come già suggerito, è possibile utilizzare autochdir, che cambierà la directory del file è stato aperto, l'altra opzione è
:cd mydirectory
che cambierà la directory. Questo può essere un percorso assoluto o relativo, pertanto :cd ..
salirà di un livello. Oppure puoi usare :cd %:h
che cambierà anche nella directory in cui si trova il file corrente, ma senza impostare autochdir.
:cd
cambierà la directory nella directory principale (o su Windows, stampa la directory corrente).
:cd -
cambierà la directory nella directory precedente visitata.
Prova ad aggiungere set autochdir
al tuo .vimrc
. Se vuoi cambiarlo solo una volta, usa :cd
(o :cd!
per forzarlo).
l'aiuto dice che questo rompe alcuni plugin (non so quali) così ho preso la precauzione di aggiungere mappatura nel mio .vimrc: 'cnoremap cd. lcd%: p: h' e 'nnoremap, cd: cd%: p: h
usa anche '' ''c' key''' in netrw file explorer per accompagnarlo. – pimgeek
Inoltre, se si sta esplorando il filesystem con il file explorer di netrw, è possibile impostare la directory corrente premendo il tasto c.
usa anche '' 'set autochdir''' per far sì che il' '' 'c' key''' abbia effetto in shell, così puoi usare '' '! Comando args' '' sotto dir cambiato – pimgeek
Con netrw:
in aggiunta alla pressione del tasto c per impostare la directory corrente, puoi anche mettere:
let g:netrw_keepdir= 0
nella vostra .vimrc
; ciò significa che netrw
manterrà la directory di navigazione uguale alla directory corrente.
Questo sembra avere un comportamento equivalente come: lcd per ogni cambio di cartella netrw. Hai un'idea di come questa impostazione potrebbe essere equivalente a: cd invece (cambia dir per tutte le finestre)? Grazie! – mgouin
Non so cosa c'è di sbagliato in vim. Voglio la directory in cui avvio vim come corrente.
Ho seguito il suggerimento circa autochd sopra e l'ho impostato su noautcd nel mio .vimrc.
non l'ho ancora fatto, ma sono in procinto di avviare vim come questo d'ora in poi:
vim —cmd 'cd `pwd`'
che renderà aderire alla directory corrente!
L'aggiunta di questo al mio .vimrc
cambia automaticamente dir di lavoro di Vim al file corrente:
autocmd BufEnter * silent! :lcd%:p:h
'set autochdir' fa altrettanto :-) –
se usi più finestre, puoi anche usare: lcd per cambiare directory solo per la finestra corrente. – Useless
@Inutile: interessante ... Non credo che lo desidererei mai, ma suppongo che sia una questione di gusti. Grazie per le informazioni. – falstro
Sto cercando di capire che cosa significa%: h, qualche aiuto? – Michael