shell - ohmyzsh - oh my zsh ubuntu
Menú de finalización de historia ZSH (1)
hay algo en zsh llamado history-beginning-search-menu
. Si pones:
autoload -Uz history-beginning-search-menu
zle -N history-beginning-search-menu
bindkey ''^X^X'' history-beginning-search-menu
en su archivo .zshrc. entonces por ejemplo:
kent$ sudo systemctl[here I type C-X twice]
Enter digits:
01 sudo systemctl acpid.service 11 sudo systemctl enable netfs
02 sudo systemctl enable acpid 12 sudo systemctl enable networkmanager
03 sudo systemctl enable alsa 13 sudo systemctl enable NetworkManager
04 sudo systemctl enable alsa-restore 14 sudo systemctl enable NetworkManager-wait-online
05 sudo systemctl enable alsa-store 15 sudo systemctl enable ntpd
06 sudo systemctl enable cronie 16 sudo systemctl enable sshd
07 sudo systemctl enable cups 17 sudo systemctl enable syslog-ng
08 sudo systemctl enable dbus 18 sudo systemctl enable tpfand
09 sudo systemctl enable gdm 19 sudo systemctl reload gdm.service
10 sudo systemctl enable hal 20 sudo systemctl restart gdm.service
entonces necesitas dar el número de índice para disparar el comando en la historia.
por supuesto, podría haber alguna optimización para eso. pero creo que esto te ayuda a comenzar.
Espero eso ayude.
La autocompleta de Zsh es increíble, pero no puedo configurar una cosa correctamente: quiero que zsh me ofrezca una lista de comandos del historial.
Sé que puedo buscar en la historia con Ctrl + R , pero quiero algo un poco diferente. Cuando escribo:
shelajev @ elephant ~ »kill 1 TAB
1642 shelajev gnome-keyring-d
1718 shelajev gnome-session
1807 shelajev ssh-agent
1810 shelajev dbus-launch
1811 shelajev dbus-daemon
1822 shelajev gnome-settings-
1884 shelajev gvfsd
1891 shelajev gvfs-fusil-daemo
Zsh me ofrece una lista de procesos para matar. Quiero tener algo como esto:
shelajev @ elephant ~ »kill Ctrl + X Ctrl + X
matar -9 12093
matar -15 4123
donde esos elementos en la lista son tomados de mi historial.
Existe una cosa ZLE hist-completa, pero no sé cómo configurarlo correctamente.
Tengo lo siguiente en mi .zshrc
:
zle -C hist-complete complete-word _generic
zstyle '':completion:hist-complete:*'' completer _history
bindkey "^X^X" hist-complete
Pero esto solo completa palabras individuales, lo cual no me da mucho. ¿Hay alguna manera de combinar la búsqueda histórica de líneas en el historial y mostrar una lista de eso?