{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/zsh/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/zsh/", "feed_url": "https://matoken.org/blog/tag/zsh/feed/json/", "language": "ja", "title": "Zsh – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "http://matoken.org/blog/?p=938", "url": "https://matoken.org/blog/2015/09/10/troubled-in-bindkey-of-zsh/", "title": "Zsh \u306e bindkey \u306b\u5d4c\u307e\u308b", "content_html": "

\"20150910_02:09:18-8531\"
\n\u65b0\u3057\u3044 kernel \u304c\u964d\u308a\u3066\u304d\u305f\u306e\u3067\u518d\u8d77\u52d5\u3057\u305f\u306e\u3067\u3059\u304c\uff0cCtrl + a \u306e\u884c\u982d\u79fb\u52d5\u3084\uff0cCtrl + e \u306e\u884c\u672b\u79fb\u52d5\u304c\u4f7f\u3048\u305a ^A^E \u3068\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\uff0eCtrl + U \u306a\u3069\u5229\u7528\u3067\u304d\u308b\u3082\u306e\u3082\u3042\u308b\uff0e\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u3059\uff0e

\n\n

GNU Screen \u3092\u629c\u3051\u308b\u3068\u554f\u984c\u306f\u3042\u308a\u307e\u305b\u3093\uff0e
\n\u6700\u8fd1 GNU Screen \u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u3042\u3063\u305f\u6c17\u304c\u3057\u305f\u306e\u3067\uff0cGNU Screen \u306e\u305b\u3044\u304b\u306a?\u3068\u601d\u3044\u4ee5\u524d\u91ce\u826f\u30d3\u30eb\u30c9\u3057\u305f GNU Screen \u3084 Tmux \u3067\u8d77\u52d5\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u3061\u3089\u3067\u3082\u540c\u3058\u73fe\u8c61\u304c\u7f6e\u304d\u307e\u3057\u305f\uff0e
\n% screen bash \u306e\u69d8\u306b\u3057\u3066 bash \u3092\u8d77\u52d5\u3059\u308b\u3068\u554f\u984c\u3042\u308a\u307e\u305b\u3093\uff0e
\nGNU Screen \u8d77\u52d5\u5f8c\u3067\u3082 bindkey \u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u52d5\u4f5c\u3057\u307e\u3059\uff0e

\n
% bindkey "^A" beginning-of-line
% bindkey "^E" end-of-line
\n

bindkey \u306e\u30ea\u30b9\u30c8\u3092\u78ba\u8a8d\u3059\u308b\u3068 GNU Screen \u8d77\u52d5\u524d 120\u884c\uff0cGNU Screen \u8d77\u52d5\u5f8c\u3067\u306f 34\u884c\u3068\u5927\u5206\u5c11\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\uff0e

\n
% echo $TERM
xterm
% bindkey -L | wc -l
120
\n
% echo $TERM
screen-bce
% bindkey -L | wc -l
34
\n

\u3068\u308a\u3042\u3048\u305a GNU Screen \u8d77\u52d5\u524d\u306b ~/.zshrc \u306e precmd() \u306e\u4e2d\u306b bindkey -L \u306e\u7d50\u679c\u3092 vim \u3067 :r!bindkey -L | sed -e 's/^/ /' \u306a\u611f\u3058\u3067\u8cbc\u3063\u3066\u3072\u3068\u307e\u305a\u53cd\u6620\u3055\u305b\u307e\u3057\u305f\uff0e

\n
case "${TERM}" in
screen*|ansi*)
        preexec()
        {
                echo -ne "\\ek${1%% 2%% *}\\e\\\\"
        }
        precmd()
        {
                echo -ne "\\ek$(basename $SHELL) :::: waiting your command ... > (:3[___]\\e\\\\"
                bindkey -R "^A"-"^C" self-insert
                bindkey "^D" list-choices
                  :
                  :
                  :
 
                  :
                bindkey -R "\\M-^@"-"\\M-^?" self-insert
        }
        ;;
esac
\n

\u5207\u308a\u5206\u3051\u306e\u305f\u3081\u306b\u65b0\u3057\u304f\u30e6\u30fc\u30b6\u3092\u4f5c\u3063\u3066 chsh -s /bin/zsh \u3057\u3066\u307e\u3063\u3055\u3089\u306a\u72b6\u614b\u304b\u3089\u8a66\u3059\u3068 ~/.zshrc \u3092 cp \u3059\u308b\u3068\u73fe\u8c61\u304c\u8d77\u3053\u308a\u307e\u3057\u305f\uff0e\u66f4\u306b\u5207\u308a\u5206\u3051\u3066\u3044\u304f\u3068 .zshrc \u306e\u4e2d\u306e export EDITOR=vim \u3067\u3057\u305f\uff0e
\n% EDITOR=vim screen \u3067\u767a\u75c7\u3059\u308b\uff0e% EDITOR=emacs screen \u306fok\u2026\u2026\ufeff\uff0e\u305d\u306e\u4ed6 vi NG / jed, nano \u306f ok \u3068 vi/vim \u3092\u6307\u5b9a\u3059\u308b\u3068\u8d77\u304d\u308b\u3088\u3046\uff0e

\n

\u691c\u7d22\u3059\u308b\u3068\u3053\u3093\u306a\u30da\u30fc\u30b8\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\uff0e

\n\n

\u74b0\u5883\u5909\u6570 EDITOR \u304c vi/vim \u3060\u3068 Zsh \u306e\u30ad\u30fc\u30d0\u30a4\u30f3\u30c9\u304c vim \u30e2\u30fc\u30c9\u306b\u306a\u308b\u3068\u3044\u3046\u3053\u3068\u306e\u3088\u3046\u3067\u3059\uff0eEsc -> 0 \u3067\u884c\u982d\u79fb\u52d5\uff0cEsc -> Shift+a \u3067\u884c\u672b\u306b\uff0e\u78ba\u304b\u306b vim \u30e2\u30fc\u30c9\u306e\u3088\u3046\u3067\u3059\uff0e\u3068\u3044\u3046\u3053\u3068\u3067 ~/.zshrc \u3067 emacs \u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u89e3\u6c7a\u3057\u307e\u3057\u305f\uff0e(\u4e0a\u306e\u65b9\u3067\u8a2d\u5b9a\u3057\u305f bindkey \u306e\u8a2d\u5b9a\u306f\u6d88\u3057\u307e\u3057\u305f)

\n
export EDITOR=vim
bindkey -e
\n

\u8151\u306b\u843d\u3061\u306a\u3044\u306e\u306f GNU Screen / Tmux \u8d77\u52d5\u6642\u306b\u306f\u8d77\u3053\u308b\u3051\u3069\u666e\u901a\u306e Zsh \u8d77\u52d5\u6642\u306f\u8d77\u304d\u306a\u3044\u3068\u3053\u308d\u2026\u2026\uff0e

\n", "content_text": "\u65b0\u3057\u3044 kernel \u304c\u964d\u308a\u3066\u304d\u305f\u306e\u3067\u518d\u8d77\u52d5\u3057\u305f\u306e\u3067\u3059\u304c\uff0cCtrl + a \u306e\u884c\u982d\u79fb\u52d5\u3084\uff0cCtrl + e \u306e\u884c\u672b\u79fb\u52d5\u304c\u4f7f\u3048\u305a ^A^E \u3068\u8868\u793a\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\uff0eCtrl + U \u306a\u3069\u5229\u7528\u3067\u304d\u308b\u3082\u306e\u3082\u3042\u308b\uff0e\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u3059\uff0e\n\nOS: Debian testing stretch amd64\nShell: zsh 5.0.8\nbyobu backend: screen\nGNU Screen 4.03.01\n\nGNU Screen \u3092\u629c\u3051\u308b\u3068\u554f\u984c\u306f\u3042\u308a\u307e\u305b\u3093\uff0e\n\u6700\u8fd1 GNU Screen \u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u304c\u3042\u3063\u305f\u6c17\u304c\u3057\u305f\u306e\u3067\uff0cGNU Screen \u306e\u305b\u3044\u304b\u306a?\u3068\u601d\u3044\u4ee5\u524d\u91ce\u826f\u30d3\u30eb\u30c9\u3057\u305f GNU Screen \u3084 Tmux \u3067\u8d77\u52d5\u3057\u3066\u307f\u307e\u3057\u305f\u304c\u3053\u3061\u3089\u3067\u3082\u540c\u3058\u73fe\u8c61\u304c\u7f6e\u304d\u307e\u3057\u305f\uff0e\n% screen bash \u306e\u69d8\u306b\u3057\u3066 bash \u3092\u8d77\u52d5\u3059\u308b\u3068\u554f\u984c\u3042\u308a\u307e\u305b\u3093\uff0e\nGNU Screen \u8d77\u52d5\u5f8c\u3067\u3082 bindkey \u3067\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u52d5\u4f5c\u3057\u307e\u3059\uff0e\n% bindkey "^A" beginning-of-line% bindkey "^E" end-of-line\nbindkey \u306e\u30ea\u30b9\u30c8\u3092\u78ba\u8a8d\u3059\u308b\u3068 GNU Screen \u8d77\u52d5\u524d 120\u884c\uff0cGNU Screen \u8d77\u52d5\u5f8c\u3067\u306f 34\u884c\u3068\u5927\u5206\u5c11\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u3066\u3044\u307e\u3059\uff0e\n% echo $TERMxterm% bindkey -L | wc -l120\n% echo $TERMscreen-bce% bindkey -L | wc -l34\n\u3068\u308a\u3042\u3048\u305a GNU Screen \u8d77\u52d5\u524d\u306b ~/.zshrc \u306e precmd() \u306e\u4e2d\u306b bindkey -L \u306e\u7d50\u679c\u3092 vim \u3067 :r!bindkey -L | sed -e 's/^/ /' \u306a\u611f\u3058\u3067\u8cbc\u3063\u3066\u3072\u3068\u307e\u305a\u53cd\u6620\u3055\u305b\u307e\u3057\u305f\uff0e\ncase "${TERM}" inscreen*|ansi*)        preexec()        {                echo -ne "\\ek${1%% 2%% *}\\e\\\\"        }        precmd()        {                echo -ne "\\ek$(basename $SHELL) :::: waiting your command ... > (:3[___]\\e\\\\"                bindkey -R "^A"-"^C" self-insert                bindkey "^D" list-choices                  :                  :                  :                   :                bindkey -R "\\M-^@"-"\\M-^?" self-insert        }        ;;esac\n\u5207\u308a\u5206\u3051\u306e\u305f\u3081\u306b\u65b0\u3057\u304f\u30e6\u30fc\u30b6\u3092\u4f5c\u3063\u3066 chsh -s /bin/zsh \u3057\u3066\u307e\u3063\u3055\u3089\u306a\u72b6\u614b\u304b\u3089\u8a66\u3059\u3068 ~/.zshrc \u3092 cp \u3059\u308b\u3068\u73fe\u8c61\u304c\u8d77\u3053\u308a\u307e\u3057\u305f\uff0e\u66f4\u306b\u5207\u308a\u5206\u3051\u3066\u3044\u304f\u3068 .zshrc \u306e\u4e2d\u306e export EDITOR=vim \u3067\u3057\u305f\uff0e\n% EDITOR=vim screen \u3067\u767a\u75c7\u3059\u308b\uff0e% EDITOR=emacs screen \u306fok\u2026\u2026\ufeff\uff0e\u305d\u306e\u4ed6 vi NG / jed, nano \u306f ok \u3068 vi/vim \u3092\u6307\u5b9a\u3059\u308b\u3068\u8d77\u304d\u308b\u3088\u3046\uff0e\n\u691c\u7d22\u3059\u308b\u3068\u3053\u3093\u306a\u30da\u30fc\u30b8\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\uff0e\n\nZsh – \u74b0\u5883\u5909\u6570EDITOR\u8a2d\u5b9a\u6642\u306ebindkey\u306b\u6ce8\u610f – Qiita\n\n\u74b0\u5883\u5909\u6570 EDITOR \u304c vi/vim \u3060\u3068 Zsh \u306e\u30ad\u30fc\u30d0\u30a4\u30f3\u30c9\u304c vim \u30e2\u30fc\u30c9\u306b\u306a\u308b\u3068\u3044\u3046\u3053\u3068\u306e\u3088\u3046\u3067\u3059\uff0eEsc -> 0 \u3067\u884c\u982d\u79fb\u52d5\uff0cEsc -> Shift+a \u3067\u884c\u672b\u306b\uff0e\u78ba\u304b\u306b vim \u30e2\u30fc\u30c9\u306e\u3088\u3046\u3067\u3059\uff0e\u3068\u3044\u3046\u3053\u3068\u3067 ~/.zshrc \u3067 emacs \u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u89e3\u6c7a\u3057\u307e\u3057\u305f\uff0e(\u4e0a\u306e\u65b9\u3067\u8a2d\u5b9a\u3057\u305f bindkey \u306e\u8a2d\u5b9a\u306f\u6d88\u3057\u307e\u3057\u305f)\nexport EDITOR=vimbindkey -e\n\u8151\u306b\u843d\u3061\u306a\u3044\u306e\u306f GNU Screen / Tmux \u8d77\u52d5\u6642\u306b\u306f\u8d77\u3053\u308b\u3051\u3069\u666e\u901a\u306e Zsh \u8d77\u52d5\u6642\u306f\u8d77\u304d\u306a\u3044\u3068\u3053\u308d\u2026\u2026\uff0e", "date_published": "2015-09-10T02:36:32+09:00", "date_modified": "2015-09-10T04:12:05+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Debian", "GNU Screen", "Linux", "OSS", "stretch", "Zsh" ] } ] }