: "apóstrofe seguido de comillas dobles te redirige a la última línea de cambios
Dhiren Hamal
Respuestas:
195
Desde el /etc/vim/vimrcarchivo de Ubuntu , este ejemplo se comenta:
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
Si esto no funciona, un problema común es no tener la propiedad de su ~/.viminfoarchivo. Si este es el caso, ejecute:
sudo chown user:group ~/.viminfo
donde usuario es tuyo usernamey groupsuele ser lo mismo que tu nombre de usuario.
El autocmd sale directamente del vim doc. Ver: ayuda last-position-jump
user55400
19
Si la comilla simple en la penúltima línea se cambia a un retroceso, saltará a la posición real del cursor, no solo al comienzo de esa línea:\| exe "normal! g`\"" | endif
u2622
44
La chownparte solucionó el problema para mí. ¡Felicitaciones!
slowpoison
2
Finalmente, alguien señala que mi .viminfo es propiedad de root por alguna razón. Esto debe estar en las otras 100 documentaciones que leí.
Jack
2
Solo quiero hacer +1 en la chown user ~/.viminfoadición. He estado tratando de resolver esto por una hora y me salvaste el día.
Christopher Reid el
48
Si no le importa la automatización del comercio por simplicidad, simplemente presione la tecla '"(apóstrofe, seguido de comillas dobles) al abrir un archivo, saltará a donde estaba. Esto es esencialmente lo que está haciendo la respuesta de @ marcog.
Si tiene instalado NERDTree, presionar Co dos veces puede abrir NERDTree en el búfer actual. En mi caso, a veces necesito presionar Co hasta cinco veces, pero finalmente obtengo el efecto descrito por @MatAff.
ashrasmun
Presionar Ctrl-cuna vez es suficiente para mí. Además, presionar Ctrl-cmás me lleva más atrás en la posición del cursor (incluso abrir archivos relevantes sin abrir). Uso Neovim 0.4.2, pero entiendo que también se aplica vim.
T_T
7
Si tiene viminfo habilitado, es tan simple como `0ir a la última posición del archivo editado. Notarás que esto es solo un comando 'ir a marcar';
De hecho, más tarde puede hacer '3 para ir a la tercera ubicación editada anterior (quizás en otro archivo), y luego regresar a la última con `0otra vez
Mira esto
:marks
para ver lugares recordados. Tenga en cuenta también que viminfo almacena todo tipo de otras cosas (como el contenido de registros, marcas por archivo, comando e historial de búsqueda). La mayoría de las personas tienen esto habilitado por razones obvias
`0 no me funciona en la versión vim 7.4.1689 en mac. Pero '0 hace el truco. ¿Es esto un error tipográfico en la respuesta?
alamoot
@alamoot no, no lo es, ver motion.txt vimdoc - Comprobar qué personaje su `clave genera en realidad, o lo hacen:verbose map `
sehe
tienes razón. Según el vimdoc, ¡ambos son correctos!
alamoot
6
Hay un complemento llamado vim-lastplace (soy el autor) que abrirá sus archivos donde lo dejó. Mejora las sugerencias anteriores al ignorar los mensajes de confirmación porque normalmente está editando un mensaje nuevo y desea comenzar en la parte superior del archivo de mensajes de confirmación.
todo lo que puede hacer sin complementos es lo mejor. aspirar a .vimrc: cuanto menor es el código de la más ligero y más rápido
nilon
1
A veces se ~/.viminfoconvierte en solo lectura o su usuario no tiene acceso al archivo. Esa también podría ser una razón por la cual vim no almacena la posición del cursor cuando cierra el archivo.
Respuestas:
Desde el
/etc/vim/vimrc
archivo de Ubuntu , este ejemplo se comenta:Si esto no funciona, un problema común es no tener la propiedad de su
~/.viminfo
archivo. Si este es el caso, ejecute:donde usuario es tuyo
username
ygroup
suele ser lo mismo que tu nombre de usuario.fuente
\| exe "normal! g`\"" | endif
chown
parte solucionó el problema para mí. ¡Felicitaciones!chown user ~/.viminfo
adición. He estado tratando de resolver esto por una hora y me salvaste el día.Si no le importa la automatización del comercio por simplicidad, simplemente presione la tecla '"(apóstrofe, seguido de comillas dobles) al abrir un archivo, saltará a donde estaba. Esto es esencialmente lo que está haciendo la respuesta de @ marcog.
fuente
Puede colocar esto en su .vimrc :
las vistas se colocarán en $ HOME / .vim / view. Probablemente necesite crear estos directorios.
fuente
Puede iniciar vim sin especificar un nombre de archivo usando
Luego presione CTRL + O dos veces para moverse a la última ubicación en cualquier archivo en el que haya trabajado.
fuente
Ctrl-c
una vez es suficiente para mí. Además, presionarCtrl-c
más me lleva más atrás en la posición del cursor (incluso abrir archivos relevantes sin abrir). Uso Neovim 0.4.2, pero entiendo que también se aplicavim
.Si tiene viminfo habilitado, es tan simple como
`0
ir a la última posición del archivo editado. Notarás que esto es solo un comando 'ir a marcar';De hecho, más tarde puede hacer '3 para ir a la tercera ubicación editada anterior (quizás en otro archivo), y luego regresar a la última con
`0
otra vezMira esto
para ver lugares recordados. Tenga en cuenta también que viminfo almacena todo tipo de otras cosas (como el contenido de registros, marcas por archivo, comando e historial de búsqueda). La mayoría de las personas tienen esto habilitado por razones obvias
fuente
`
clave genera en realidad, o lo hacen:verbose map `
Hay un complemento llamado vim-lastplace (soy el autor) que abrirá sus archivos donde lo dejó. Mejora las sugerencias anteriores al ignorar los mensajes de confirmación porque normalmente está editando un mensaje nuevo y desea comenzar en la parte superior del archivo de mensajes de confirmación.
fuente
A veces se
~/.viminfo
convierte en solo lectura o su usuario no tiene acceso al archivo. Esa también podría ser una razón por la cual vim no almacena la posición del cursor cuando cierra el archivo.fuente