Vim Part28
レス数が1000を超えています。これ以上書き込みはできません。
Vimのシェルスクリプトのシンタックスハイライトで
headはハイライトされないのにtailはハイライトされるんだけどどういうこと?
カラースキームやバージョンの問題ではないと思う。 vimはケータイでコーディングするときとsshでcui環境のときしか使ってない
今時コーディングする時ってみんなIDE使ってるんだよね?
あと、neovim の補完とかデバッグ機能ってIDEと比べてどうなの? Vimで数字を増減するとき「2018-06-14」の14が負数として認識されるんだけど
これを正規表現かなにかを使って「YYYY-MM-DDの形式のときは正数として認識する」みたいなことって可能?
help CTRL-Aから始まる数字の増減に関するヘルプも見たけど有益な情報は得られなかった。
案としてはCTRL-Aを一旦ある関数を呼び出すトリガキーとしてマップして
その関数内でカーソル下の数字の判定を行うみたいなことをできればいい
という当たり前のことしか思い付かない。
どなたかおねがいします。 -削除か別の文字に置換してカウントアップしたらまた-付ければええやん 増やしたいなら、CTRL-x
減らしたいなら、CTRL-a
するだけwww ロートル専用だと思ってたけど案外置換と検索だけでもなんとかなるもんだな
テキストオブジェクトと矩形編集が中々いいわ
変態バインドを覚える気はないし秘伝のタレを拵える気もないが お前らは初めてvimに触れた時文句の一つもなかったの?俺と違って立派なもんだな vimについて意見するとvimはviより高性能なんだから文句は贅沢だのなんだのって流れ オライリーの電子書籍のみでリリースされてるvi&Vimデスクトップリファレンス第2版はオライリーの入門vi第6版よりも詳しくVimについて書かれてありますか? Vimのコマンドライン履歴(シェルの履歴ではなくて)で
パスを必ず絶対パスで保存する機能とかありますか?
例えば
:pwd
/home/alice/work
:tabedit ../.bashrc
とした場合に履歴が
pwd
tabedit /home/alice/.bashrc
となるようにしたいということです。
よろしくおねがいします。 >>79
返信感謝です。
もう少し詳しくおねがいできないでしょうか。 例えばカッコの中身を書き換えた後に閉じカッコを飛ばして入力を再開するとか、一文字分だけカーソルを進めたいことがよくあるんだけど、みんなどうしてるの?ctrl+o l ? たかが一文字カーソル進めるだけじゃん
ソレが一日何十回あるんだよ? 括弧の中を書き換えるという話だと括弧の外は既にコードがあるので一旦ESCして目的の場所に飛ぶと思う
新規コードで括弧閉じを勝手に入れるようにしてると括弧内を書き終えた後、括弧の外に移動しなきゃならないから括弧閉じを自分で入れる以上のモーションが必要になるので自分で閉じたい派 root用の配色が暗くて読めないんだけどお前らどうしてんの
rootの.bashrcに個人用の配色設定使わせればいいだろと思ったら甘かった
sudo vimは/root/でbashの入力補完できないし いるよな
xchだったらこう書かないとレスもらえないんじゃないかとか bashの入力補完が何だか分からんがうまい方法見つけてsudo vimも快適だわ Vim 7,8のシンタックスハイライトで,
cat <<__EOF__ | grep 'aaa'
111
aaa
ccc
__EOF__
みたいなシェルスクリプトがあったとき,
| grep 'aaa'の部分がヒアドキュメントの一部と見做されてしまう。
ほんとうはこれはパイプを挟んだ別のコマンド。
どなたかこれ直す方法分かりますか?
$VIMRUNTIME/syntax/sh.vim
を編集すればいいことは知っていますが文法が分からん。 ていうかVimのシンタックスハイライトってANSI Color Sequenceじゃないんだね。
独自規格はいやだなぁ。 >>90
ヒアドキュメントのハイライトの定義を書き換えるのではうまく行かない
そうではなく "<<EOF | ..." の "| ..." 部分だけ別のハイライトで「上書き」できれば…
というわけで、出来たみたい
どうぞ
https://pastebin.com/5jrwwgnQ
~/.vim/after/syntax/sh.vim に書けばok ab
ac
ad
っていう文字列があってこれを
a_b
a_c
a_d
って文字と文字の間にアンダーバーを置換使って入れたいんだけど、どうしたらいいですか? >>95
:%s/\<a\([a-z]\)\>/a_\1/g テキストオブジェクトがvimに興味を持つきっかけだったけど
正規表現も知らん内に手を出すもんじゃないね
やっと覚えたら今度はエスケープが違うとかハゲるわ >>94
すご! ありがとうございます!
無事期待通りのシンタックスハイライトになりました! 下の12,345の部分を567に変えたいのですが
カンマがあり cw でまとめて変更できないので困っています。
この場合、皆さんはどのような操作をされますか?
この商品は12,345円です。 >>100
ビジュアルモードで12,345を選択して
c で567に変更すればいいんですね。
失礼しました・・・ 日本語・英語混在の文章で、英単語の両端に半角空白を挿入したいのですが
いい方法ありますか?
クォート等の記号で囲むなら、サラウンド使って viwS" で出来ますが
空白文字では囲めないようです >>102-104
返信ありがとうございます。
cWでいけますね!
お二方、どうもありがとうございました。 >>105
%s/([a-zA-Z]+)/ \1 /g
英単語が行末にあると行末にも空白は入っちゃうけどそこは
%s/ +$//g
とか?
置換一回で解決できるのが思いつかない 勝ち組っていうか少なくともメンテナンスされてるという点は大きいよね
いくら便利でも2000年代前半に更新が止まってるようなソフトウェアはちょっと……。 >>113
> 2000年代前半に更新が止まってるようなソフトウェア
どれ? テキストの文字コードを指定して読み直す時コマンドって
:e ++enc=〜 だけど、fencじゃなくてencなのが謎だね slackwareなんか2003年で止まってるelvisを未だに使ってる
As elvis is Slackware's default vi, this is a required package. viユーザーが世界大戦で死闘を繰り広げている中、>>113はVZ Editorと戦っていたなんて… vim対emacs戦争で勝利したvimだが、次はneovimと戦うことになるだろう。
neovimの一部にはvimの血が流れているけど
コードからは余計な古いマシンとの互換性のためのコードが削除され
メンテナンスしやすいよう改良され
新しいプラグインアーキテクチャが導入されている。
neovimが勝利しvimが過去のものとなってしまうのか!?
このゴジラ対メカゴジラのような展開に乞うご期待! neovimよりspacevimが覇権取ると思うわ
今の時代特殊な用途以外ではfishやらspacevim、spacemacsのような始めから整備された環境を使うのが合理的よ >>120
大方賛同するけど,しかし挙げている具体例には反対する。
シェルやテキストエディタというものは(このスレの住人なら)毎日触るもの。
滅多に使わないものならともかく,毎日使うものは自分でチューニングしたほうがいいんでは?
と主張してる俺だが,OSカーネルのコンパイルオプションはデフォルトのままw vimに負けたと言うよりもその他のエディタに食われただけだろうなemacsは
vimはその特殊性から生き延びた bashやmacはemacsキーバインド準拠だけど、みな使わんの? Macのあれは変更してないけど,bashはset -o viしてるな。
ていうかVimも一行を編集するときはEmacsっぽいでしょ。
ていうかそもそも^Aで行頭,^Hで一文字抹消とかはEmacs由来じゃなくて,もっと原始的な,
テレタイプとかなんじゃないの? すいません。ageさしてもらいます。
今Vimを開いていて、別のシェルにおいてバックアップ操作を間違い、.vimrcを空にしてしまいました。
↑ここで言っているようにVimは開いていて設定ファイルは読み込まれているはずです。
ですのでどうにか.vimrcを再現したいのですが、なにか助言をいただけないでしょうか。
どうかよろしくおねがいします age、コテハン、質問の程度の低さ
ムカつく要素ここまで全開なのも珍しい >>125
:verbose set
↑これで大分復活できるぜ verbosefileを設定してれば楽だったかもな
どうせしてないだろうがw let retlist = []
for i in filter(getcompletion('','option'),'v:val!~''^\%(all\|termcap\)$'' ' )
let str = execute("verb set " . i . "?")
if str =~ "Last set from"
let retstr = i ."\t". string(eval("&". i)) ."\t". matchstr(str, '\_.*Last set from\s*\zs.*')
call add(retlist, retstr)
endif
endfor
fun! s:sort(a,b)
let a = matchstr(a:a,'[^\t]\+$')
let b = matchstr(a:b,'[^\t]\+$')
return a == b ? 0 : a > b ? 1 : -1
endfun
echo join(sort(retlist,'s:sort'),"\n") なんかそのものズバリのコマンドがあったような…と思って調べた。これだ
:mkvimrc >>131
すげえ!
初めて知った!!
vim最強すぎひん? >>131
これだとシンタックスとかファイルタイププラグインとかが再現されねーな。 モード切り替えって日本語入力とすこぶる相性悪いと思うんだけどそうでもないのか
挿入モードにしようとして「い」になる事故とか 日本語入力終えたらすぐに英数に戻すくせ付けたらおk uim-skkだけど、設定で挿入モードを抜けるときに自動的に英数に戻るので、
実はそれほど影響はないが、他のIMだとどうなのかな? mozcで英数に戻す設定あったけどうまく動作しないんで戻した >>136
日本語モードのときは「い」の後にエンターを押さないとまだ確定したしないと思うんだけど、それでもいけるかな? >>139
すまん。SKKだとあれで行けるので他でも大丈夫と思っていたが
mozcだと無理だな。エンターキー押さないと機能しない。
忘れてくれ。 指定文字数を置き換えたい時のコマンドは何かありますか?
例えば下記のような時、aaa.bbbをzzzに書き換えたい時、cwだとaaaしか対象にならず、cWだとcccまで対象になります。
この時に、7と何かのキーを組み合わせて7文字だけをzzzに書き換えたいです。
aaa.bbb.ccc ddd
ドット(.)はファイルタイプによって単語区切りが変わりますのであくまで例題です。 >>142,143
ありがとうございます。
後出し情報ですみませんが、
/AAA.BBB
で検索し、nで確認しながら置換していきたいなーと思いました。 お、それいいかもです。
cオプションで対象パターンに飛びながらy/nで置換出来るんですね。
nextキーを押さなくていいし楽かも。
ちなみに置換は
shift+vで選択→:s//
:1,$s//
のどちらかしか使ってなかったです。
%sは今の行から下を検索し、終わったらファイル先頭から検索。
の動きですかね。 たしかこのスレで誰かが教えてくれたと思うのだけど、パス認識文字列から"="を除外するのってどうするんだっけ? 後は文字の上でR押せば直接上書きもできるな
ノーマルモードのuはアンドゥだけどヴィジュアルモードのuは小文字変換とか覚えるのきついわ
ただでさえ文字の大小で意味変わるのにモードの状態によって同じキーでも意味変わるとかさぁ >>150
いやいやw
じゃあjキーとかはインサートモードでも下方向に行くようにすればいいのかよw
なんでVimがモードという概念を持っていて、なぜそれが支持されているのか、無い知恵絞って考えなw viはマウスやカーソールキーがなくて通信も低速な時代に作られたものだけど急にどうした 普段からvim使ってるやつって秀丸とかサクラエディタか使えないの?
カーソルキーの移動がh,j,k,lで染み付いていて、不便感じたりしない?
しないのであれば秀丸からvimに乗り換えようと思うんだけど >>154
WindowsでもVIM使うメリットってあるの?
UNIXだとターミナルからインストールもせず起動出来るから使いたいけど viだろうがemacsだろうが末期患者はいるものよ
ブラウザをviバインドにしたりCapsをCtrlにしたり
カーソルキーがあってもhjklにこだわる天邪鬼とか
本人がそれしか受け付けない体になったのならしょうがないさ エディタはvimキーバインド、シェルはemacsキーバインドにしておくと、大体の環境に適応できると思う
readline系のライブラリを使ってるツールはemacsキーバインドを使えるし、vimのインサートモードでも一部のemacsキーバインドが使える(´・ω・`) >>155
WindowsであえてVimを使うメリットはある
俺はこんな難しいエディタを普段使いしているスーパーマンなんですというアピールができることだ
「こいつは大物だ」という印象を周囲に植え付けることは、人間関係の構築上重要だ >>153
不便に思うならわざわざ乗り換える必要なくない?
そもそもあなた自信が不便だと思ってんのに、俺らが不便だと思わないなら乗り換えようなんて思うのかな?
そのまま秀丸使った方が良いと思うよ。 >>153
>普段からvim使ってるやつって秀丸とかサクラエディタか使えないの?
使えないかどうかは知らんが、一度vimに慣れてvimの生産性に納得したら、他のエディタなんて興味ない。 >>159
慣れた人にはね
Vimを初めて起動した人は、テキストが入力できなくて
あれこれ叩いてるうちになぜか入力できるようになって
さて終了しようとしたら終了方法がわからなくて
やむなくタスクマネージャから強制終了という散々な目に遭って逃げていく 一般人でも過不足なく使えるテキストエディタってだけだからあまり気にするな
そんな俺はMery派 >>163
windowsのvimってよく分かってないけど
ちゃんとこの表示出るみたいじゃん
http://www.not-enough.org/abe/manual/mel-ad05/gvim-window.png
それに終了したけりゃxボタン押せばいいだけじゃないの? vim以外使い気は無いけど、以前は秀丸使ったことあるよ
秀丸のマクロにも助けられたよ、正規表現でgrep初めて使ったのも秀丸
色々な作業をしていく内にlinuxとか触って、vimまんせーになったわ サクラと併用でvimはコンソールの中での使用がほとんど
作業の文脈ってコンソールでの方が追いやすいからかな >>159
vimが簡単ってのはただの幻想だろう
実際は単に自分が覚えたってだけだ
初心に返らないから勘違いされるが 「難しくない==簡単」という思考回路がよく分からん 利便性が分かるのは理解した奴だけだって極単純な話では?
パソコンやスマホもずぶの初心者からしたら意味不明だしそれは中身がWindowsだろうがLinuxだろうが変わらん お前らってEmacsは使ってるのか?
エディタは適材適所だと言っても使ってないからあっちの利点が俺には分からん
この界隈を生業にしてない俺でもvimの凄さは分かるが
伊達に骨董品を使ってる訳じゃないのな ある程度まとまった長い文章を書く必要がある場合は基本挿入モードになるから、
挿入モードでのまま操作するならEmacsの方が何かと使い勝手がいいこともあるんじゃない? いやがっつり文章書くなら素直にmeditやgeany使うわ
vimは設定ファイルの編集やログの閲覧にしか使わんな
大して使い方知らんがview +/で予め文字を検索してから開くのは中々 vimのセッティングに疲れたのでVScodeを使ってみたけど
設定ファイルがJSONで見づらいことこの上なく、速攻アンインスコした
vimrcより使いづらい設定ファイルを持つエディタがこの世にあるとは思わんかった JSONだから書きづらいならわかるが見づらいってことはないだろ。コメントかけるし。
セクション分けされてないとかそういうところなんじゃないの?
https://code.visualstudio.com/assets/docs/getstarted/settings/hero.png
次バージョンでGUIに改悪もとい改善されるらしいが。 結局、挿入モードでemacsキーバインド使ってたり。spacemacsの方が幸せかも >>182
それなら素直にemacs使った方が幸せかも。 >>183
自分はemacs使っている。
vimから移るのであればspacemacsがいいかもという意味で書いた。
vimも使わなくてはならない時はあるのでviとしては使える。
でもOS自体のキーバインドをemacs-likeにしているので、vimをメインのエディタとしようとは思はないんだよね。
非難受けると思うけど。 Spacemacsは端末やシェルとの協調がなぁ……
「EmacsはOSである」という精神はSpacemacsでも健在のようで,そして俺には受け入れにくい……。 どの辺が受け入れ難いんだろう。
ターミナルが主でないとダメなのかな。 端末がemacsバインドだとしても多用してるのはC-lくらいだな
後vimは設定編集には向くが常用するのはちょっと
バニラでも使えるのは嬉しい誤算だけどな
プラグイン盛らないとろくに使えないエディタとか鼻で笑うわ Emacsも使ってるけど、もう多機能なアプリケーションくらいにしか思ってない。
それに挿入モード中心の使い方だとVimの長所はほとんど活かせないから、
Vimの愛用者ならもっと違う使い方をしてるんだろうけど。 使いたい人だけ使えば良いよ、何使おうが自由だし
vim板にemacsイラネ、emacも悪くないけどさ だよね、
たまにWindows環境下での書き込みあるよね、
不思議 vimスレは他にもある(活発とは言ってない)
絨毯爆撃してる荒らしに保守されてるとか泣けてくるわ 自作した関数にカレントファイルの名前を渡したいです。
:echo fnamemodify(@%, ":t:r")
とすると望み通りの結果が得られます。
ところが
function! MyFunc(arg)
echo a:arg
endfunction
command! -nargs=1 MyCmd call MyFunc(<f-args>)
nnoremap <Leader><Space> :<C-u>MyCmd<Space>fnamemodify(@%, ":t:r")<CR>
↑というような定義をvimrcに書いておいて<Leader><Space>を打ち込むと「fnamemodify(@%, ":t:r")」という文字列そのものが
a:argに渡されてしまい,展開されません。
どなたかこの原因が分かるかたいらっしゃいますか。 テキストオブジェクトはすげーと思ったけど他のvimの利点って何なの
機能拡張はvimの専売特許じゃないしやっぱり最初から入ってることと軽さ?
必要なキーは多くないけど操作は複雑じゃない訳じゃないし >>200
あまり深く考えるな
パン食いてーなと思った時に
食パンにするか菓子パンにするかって程度のもんだ >>199
<expr>だとmap全体が展開されてしまうのですが。 >>198
%:r を使うんじゃだめなの?
自分は main.c をコンパイルして実行する (gcc -o main main.c && ./main) のを
:!clear && gcc % -o %:r && ./%:r
みたいにして関数とマッピング作ってるけど http://i.imgur.com/2jnRbUe.png
set ambiwidth=doubleを有効にしても全角記号が崩れるんだけど直せない?
入力直後はちゃんと●123になるんだけど
vim7.4でヘルプの日本語化しかしてない ようやくHJKL慣れてきたわ
でも、普段Windows使ってWebブラウザの検索ボックス内でもHJKL押すようになってしまってつらい… もう少し使い慣れてくるとhjklはろくに使わなくなるよね 使うなと言う気はさらさらないが
hl押しっぱだけはアホの極み esc等のノーマルモードに抜けるコマンドをつい打ってしまうってならまだ分からなくもないけど
検索ボックス(文字入力中=挿入モード)でhjklみたいなノーマルモードのコマンドをつい打ってしまうってのはちょっと有り得ない
最近vimの存在を知ってイキってみたかっただけの嘘松ぽい 検索ボックスはctrl-wとかalt-bみたいなemacsのキーバインドを使いたくなる(´・ω・`) >>205
ターミナル側の設定はどうなってるって訊いてるだろはよ答えろやボケ
おおかた「あいまい文字幅を西洋の方式で解釈する」みたいな設定にしてるんだろうな
せっかく助け船を出してやったのに反応なしとか考えられん 何か気が短い人の率高いな。
それにちょっと検索すれば大方解決しそうな質問だし。 ググって1時間で見つかるようなやつは答えなくていいよ
全部無視しよう >>209
f F t T w W b B などを使うってこと?
上下の移動は relative number と組み合わせて、10j とかやるけど
左右の移動は、何ワード目か数えるのが面倒で(思考が中断されるので)
hl 連打になってしまう
wb 連打もするけど、大抵行きすぎる 219だけど、俺は解決まで数時間ググることたまにあるけど、みんなそんな簡単に諦めたり人に聞いたりするの?
それともググるのがうまいのだろうか 質問を投げつつ、返答が来るまで自分でもググるのがベスト そもそも血眼になって調べるのってかなり深刻な場合だよな
一台目のPCが故障して手元に携帯しかないとかそんな状態
コマンドや言語を学習するのにググりまくるのもあるっちゃあるがまず長時間持たん でもなぜか細かいことは調べたくなっちゃう(なんでappendの反対がeditなのかとか) 先輩方ちょっと教えて下さい。
最近Macを買ったのを機にVim(MacVim-kaoriya版)を使い始めたのですが、
Ctrl-uのキーバインドだけが何故かCtrl-U(大文字)じゃないと受付けてくれません。
自分でも調べて、キーをリマップしようと.vimrcを作り
noremap <C-u> <C-U>
noremap! <C-u> <C-U>
と書いたのですがダメです。Ctrl-Shift-Uじゃないと受付けてくれず。
一緒に書いた
noremap <C-l> <esc>
noremap! <C-l> <esc>
の方は効いてるので.vimrcは読み込んでくれてるようなんですが、、
大文字しか受け付けない原因か、リマップ方法の訂正など教えて頂けると助かります >>225
あのさ,すぐ上のレスに書いてあることも読めんのか?
ちっとは検索くらいしろ
せめて「これこれこういう語句で検索しましたが欲しい情報が見当たりません」
くらい書けるだろ?
「Mac OS X Vim Ctrl+U 効かない」
で一番上に挙がった候補↓
https://qiita.com/furu8ma/items/7e421da98680d1c4c0f8
二番目↓
https://stackoverflow.com/q/29712392
ことえりの設定を変えるらしいぞ
もう一度いうがググれ。まずは。 >>226
コレですね
Enter2回がどうも慣れずにWindows風の確定になるように変更しました
でも結局Optionを元に戻すしかなくて両立は無理なんですね そんな血眼ってわけじゃなくて学生だから時間あるんだよ ド素人です
対となるカッコの自動挿入をオンにしてるのだが、カッコ内の入力が住んだ後にできるだけ少ない手数でカッコの後ろに出る方法を考えてる
カッコが入れ子であることも考慮すると、挿入ノーマルモードに移行して
・f 適当な文字
・A
・w
で移動するっていうのが普通ですかね? >>231
俺は最初の方法かな
→int main@
(
→int main(@)
void<Ctrl+O>f(
→int main(void)@
みたいな編集方式 Vimのステイタスラインに地震情報を出すプラグインがあるけど、VS Codeにもある? 緊急地震速報鳴るんだからそんな余計なプラグイン要らん むしろなぜVimに緊急地震速報を出そうと思ったのか データーセンターだと自分のスマホを持ち込めず自由にネットにアクセスできないし、GUIの入ってないサーバー作業中にもしものことがあってもいいようにかな spacevim なんてあるんだな
しかも「spacemacs に触発されて」ときた
正直、流行らんだろ
emacs は lisp の実行環境だから他を寄せ付けない拡張性があって、それに Vim の、これもまた他を寄せ付けない超高速入力を合体させようという試みとして凄い価値のあるプロジェクトなわけだが、spacevim は目的わからん Lots of Irritating Stupid Parentheses の略
tanasinnの元ネタのひとつ ようやくvimに慣れてきたところだけどプラグイン管理ってどれ入れればいいの
neobundleだかdein.vimだか知らんが設定ファイル自体が煩雑って
バニラ状態で事足りてるから入れなくてもいいか minpackですかね
でもvimdoc-jaとiceberg.vimしか入れてないのであんま参考にならんかも
minpackでは入らないプラグインとかあるみたいだし。 ftditectで
「.origの場合は.origではなくその直前の拡張子を本来の拡張子として処理する」
みたいなことできませんかね。 >>249
ありがとうございます。
できそうです。
あと すいません。もう一つ質問なんですが
複数のfiletypeに対して同一のftpluginを実行したい場合、
例えばlexとyaccとcに対してはset cindentを適用するといったようなことはできますか
:help usr_41.txtは読んだのですが あまり助けにならなさそうでした
私が理解していないだけで書いてあるかもしれません。どうかよろしくおねがいします。 >>250
au BufNewFile,BufRead *.{c,lex,yacc} set cindent
とかこんな感じでできないかな >>251
わがままでもうしわけないんですが
それだと例えば新たに拡張子.Cをfiletype cと見做すように設定したときに
二重に変更する必要がありますよね
元の*.C→set filetype=cと、その*.C→set cindent
これは予期せぬ不具合を生じる原因になると思うので
できたらfiletypeで判別したいです
なんとなくですが&filetypeを使って場合分けできないかなとか思っています。 >>252
au FileType lex,yacc setl cindent
>>251 からの改良点は
・autocmd イベントに FileType を使うことで拡張子問題に対応 ('filetype' オプションに追従)
・filetype=c では同梱プラグインで cindent が設定されるため自分の vimrc には書かないことに
・ファイルタイプ特有の設定はバッファローカルで設定するべき。よって setl[ocal]
これだけだと lex,yacc ファイルを編集中に手動で :setl ft=txt とかしたときに cindent 設定が残り続けることになるが、問題になることは少ないだろう
余談だが .C はデフォルトでは C++ ファイルとして認識されるようだ >>249
こんなのがあったのか(´・ω・`)
サンクス >>254
知ってたわけじゃないけどvim ftdetect gzでググったら一発で見つかった filetypeがnerdtreeのときのみ以下のキーマップを割り当てたいのですがどうすればよいのやら...
理想: 'R'キーを1回入力するとnerdtreeで定義済みの'R'キーを2回入力したことになる
妥協: '<C-r>'を入力するとnerdtreeで定義済みの'R'キーを2入力したことになる
理想を実現しようと以下のように書いたけど,
E21: Cannot make changes, 'modifiable' is off
と怒られてしまいます...
```
augroup nerdtree_custom
autocmd!
augroup END
autocmd nerdtree_custom filetype nerdtree set modifiable
autocmd nerdtree_custom filetype nerdtree set write
autocmd nerdtree_custom filetype nerdtree nnoremap <buffer> R RR
``` >>257
nerdtreeのバッファで R のマップを調べる
:map R
すると
n R *@:call nerdtree#ui_glue#invokeKeyMap("R")<CR>
と表示されるのでこれをコピペして、繰り返し回数を指定:
autocmd nerdtree_custom filetype nerdtree nnoremap <buffer> R 2:call nerdtree#ui_glue#invokeKeyMap("R")<CR> >>258
ちょっとよくないな
これだと 2R とかで E16: Invalid range ってなる
このコマンドの場合は任意の回数指定出来なくても問題なさそうだけど
あと何故かカーソルが下に移動してしまう
単に :call を二回でよかったみたい:
autocmd nerdtree_custom filetype nerdtree nnoremap <buffer> R :call nerdtree#ui_glue#invokeKeyMap('R')<CR>:call nerdtree#ui_glue#invokeKeyMap('R')<CR> >>258
解決策だけでなく,手順までご教授頂き,本当にありがとうございます...
Vimと共に歩んでいきます >>259
おっしゃる通り,今回のコマンドは任意回数指定できなくても問題のないものでしたので,
全然気にしていませんでした...
それでもやはりコマンドが任意回数指定できないのは気になるので,:call を2回呼ぶことにしますね. >>261
読点が全角カンマだから俺の書き込みかと思ったわ 緊急地震速報をVIMで受信出来るってどこかで読んだのだがどうやるんですか! >>237
今更だけど、そんな環境で勝手にプラグイン入れたり勝手に地震速報の情報を受信するのは問題ないの? これって地震が起きた後の地震速報であって揺れが到達する前に発せられる緊急地震速報じゃないと思うんだがどう? ls結果をvimで表示したらファイル名の前後にゴミが入るんだけどどうすれば
[01;35maaa.jpg[0m
[01;35mbbb.jpg[0m
ls *jpg | vim -でこんなのが lsのオプションで色表示の解除なかったかな?man lsで調べて >>269
>>270の言う通りlsコマンドに色付けをしない旨のオプションを付ける(GNU lsの場合--color=none)のが最も手っ取り早い。
汎用性を持たせる(manコマンドなどの出力結果でも同様の現象が起こる)にはcol -bxをパイプで噛ませるのがいいと思う。
今 調べてみたら
Ansifiler(http://www.andre-simon.de/doku/ansifilter/en/ansifilter.php)とか
ansi2txt(https://sourceforge.net/projects/ansi2txt/)
というのもあるみたい。これはcolコマンドを使う方法が,本来のcolコマンドの目的ではなくその仕様を利用している不安定な方法に対して
まさにその目的(ANSI色制御綴りを除去する)ことに特化していることが利点だな。
ただし両方とも野良ビルドする必要があるが……。 >>269
lsの結果に色付いてると思うけどそのカラー設定が混ざってる
$ type lsをやって「ls は `ls --color' のエイリアスです」になるはず
alias ls='ls --color'の記述が~/.bashrcになくても/etc/bash.bashrcにあると思う
エイリアスは\で無効にできるから\ls *jpg | vim -なら大丈夫 deopleteを導入したくてtomlファイルに以下を追加したのですが
```
[[plugins]]
repo = 'Shougo/deoplete.nvim'
let g:deoplete#enable_at_startup = 1
```
以下のエラーメッセージが表示されます.
[dein] Invalid toml format: /c/Users/hoge/.vim/dein/userconfig/plugins.toml
[dein] Text.TOML: Illegal toml format at L39:`g:deoplete#enable_at_startup = 1':630.
この書き方のどこがillegalなのでしょうか... >>269
"ANSI color code(余計な[0m)を削除
command! DeleteAnsi %s/\[[0-9;]*m//g
^[はCtrl+v+ESCで入力ね Vim初心者ですが、ファイルタイプ毎にタブインデントとスペースインデントを変えるってどうやりますか?
調べてもaugroupでスペースの数を変えるのしか出できません
C言語の時には、表示スペース8のタブインデント、Pythonのときには表示スペース4のスペースインデント...といったやつです >>275
setlocal expandtab
setlocal noexpandtab 言語別の設定をするには、ftplugin以下にファイルタイプ名.vimを作ってそこで設定すればいいはずなんだけど、あんまり有効活用されてないよね(´・ω・`) >>278
ファイル分けると管理が面倒
できればvimrcだけで済ませたいよ >>269
alias の問題だろ。
つまり、ls でなく、/bin/ls としろ。
もしくは ¥ls でもよい。 >>280
円記号なんか付けたらcommand not foundになると思うんですけど(名推理) >>276
ありがとうございます!
以下のように記述することで無事,エラーメッセージなしでtomlファイルを読み込むことができました.
```
[[plugins]]
repo = 'Shougo/deoplete.nvim'
hook_add = '''
let g:deoplete#enable_at_startup = 1
'''
``` Windows 10 + Git Bash + Vim 8の環境で,Neovimは使わずにdeoplete.nvimを使用したいと考えていますが,
下記のエラーメッセージが表示されます.
neovimを導入せずに解決する方法はありますでしょうか...
```エラーメッセージ
Messages maintainer: Bram Moolenaar <Bram@vim.org>
[vim-hug-neovim-rpc] failed executing: pythonx import neovim
[vim-hug-neovim-rpc] Vim(pythonx):Traceback (most recent call last):
```
参考までに,
・plugins.tomlの内容
・vim --version の結果(>>284)
を以下に載せます.
```plugins.toml
[[plugins]]
repo = 'Shougo/deoplete.nvim'
hook_add = '''
let g:deoplete#enable_at_startup = 1
'''
[[plugins]]
repo = 'roxma/nvim-yarp'
[[plugins]]
repo = 'roxma/vim-hug-neovim-rpc'
``` ```vim --version (1/2)
VIM - Vi IMproved 8.1 (2018 May 17, compiled May 31 2018 11:16:13)
Included patches: 1-22
Compiled by <alexpux@gmail.com>
Huge version without GUI. Features included (+) or not (-):
+acl +farsi +mouse_sgr -tag_any_white
+arabic +file_in_path -mouse_sysmouse -tcl
+autocmd +find_in_path +mouse_urxvt +termguicolors
-autoservername +float +mouse_xterm +terminal
-balloon_eval +folding +multi_byte +terminfo
+balloon_eval_term -footer +multi_lang +termresponse
-browse +fork() -mzscheme +textobjects
++builtin_terms +gettext +netbeans_intg +timers
+byte_offset -hangul_input +num64 +title
+channel +iconv +packages -toolbar
+cindent +insert_expand +path_extra +user_commands
-clientserver +job +perl/dyn +vertsplit
+clipboard +jumplist +persistent_undo +virtualedit
+cmdline_compl +keymap +postscript +visual
+cmdline_hist +lambda +printer +visualextra
``` ```vim --versions(2/2)
+cmdline_info +langmap +profile +viminfo
+comments +libcall +python/dyn +vreplace
+conceal +linebreak +python3/dyn +wildignore
+cryptv +lispindent +quickfix +wildmenu
+cscope +listcmds +reltime +windows
+cursorbind +localmap +rightleft +writebackup
+cursorshape -lua +ruby/dyn -X11
+dialog_con +menu +scrollbind -xfontset
+diff +mksession +signs -xim
+digraphs +modify_fname +smartindent -xpm
-dnd +mouse +startuptime -xsmp
-ebcdic -mouseshape +statusline -xterm_clipboard
+emacs_tags +mouse_dec -sun_workshop -xterm_save
+eval -mouse_gpm +syntax
+ex_extra -mouse_jsbterm +tag_binary
+extra_search +mouse_netterm +tag_old_static
system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/etc"
f-b for $VIMRUNTIME: "/usr/share/vim/vim81"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -I/usr/include/ncursesw -march=x86-64 -mtune=generic -O2 -pipe -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -L. -pipe -fstack-protector -pipe -Wl,--as-needed -o vim.exe
-lm -lncursesw -liconv -lacl -lintl -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,
--enable-auto-image-base -fstack-protector-strong -L/usr/lib/perl5/core_perl/CORE -lperl -lpthread -ldl -lcrypt
``` Cで #include < のときだけ <> 補完したいんだけど、なにかいい方法ありますか >>281
どうせ円記号を全角で入れたんだろ(適当) spacemacs (とか spacevim?) がある今、Vimを好むかEmacsを好むかの違いは Vim script と elisp のどちらがより高い拡張性を持ってるかの違いになったわけだが、みなはどう思う インサートでキーをホームにマップするとインデント無視して行頭まで行くけど、インデント無視しない方法ありますか 【実現したいこと】
Git-bash標準のvimでdeoplete.nvimによる補完を有効にする
【現状】
deoplete.nvimによる補完が効かない
【環境】
- Windows 10
- Git-Bash (C:\Program Files\git-bash.exe)
- Vim 8.1 (C:\Program Files\Git\usr\bin\vim.exe)
- Python 3.6.5 (C:\Program Files\Python36\python.exe)
- Windowsの環境変数: C:\Program Files\Python36\, C:\Program Files\Python36\Scripts\
- dein.vimを使用
続きは>>293 【行ったこと】
1. chocolateyをインストール
2. コマンドプロンプト(管理者権限)にて > choco install neovim
nvim.exeの場所はC:\tools\neovim\Neovim\bin\nvim.exe
3. vim上で:echo has("python3")が0であることを確認
4. $HOME/.vimrc に以下の内容を記述
set pythonthreedll=set pythonthreedll=/c/program\ files/python36/python36.dll
5. vim上で:echo has("python3")が1であることを確認
6. $HOME/.bashrc に以下の内容を記述
export PYTHONPATH=/c/program\ files/python36/lib/site-packages
7. vim上で:python3 import neovim をすると以下のエラーが出た
ModuleNotFoundError: No module named 'msgpack'
続きは>>294 8. そこで,[https://github.com/neovim/python-client/issues/292]を参考に
コマンドプロンプト(管理者権限)にて,
> pip3 uninstall msgpack
> pip3 uninstall neovim
> pip3 install msgpack-python
> pip3 install neovim
を実行
9. vim上で:python3 import neovim をすると以下のエラーが出た
ModuleNotFoundError: No module named 'greenlet'
10. neovimは/c/program\ files/python36/lib/site-packages に存在するが,
neovimと依存関係のgreenlet, pyuvは$HOME/appdata/roaming/python/python36/lib/site-packagesに存在することを確認した
そのため,greenlet, pyuv関連フォルダ,ファイルを/c/program\ files/python36/lib/site-packagesに移動した
11. vim上で:python3 import neovim をしてもエラーメッセージは表示されなくなった
12. plugins.tomlに以下の内容を記述
[[plugins]]
repo = 'Shougo/deoplete.nvim'
hook_add = '''
let g:deoplete#enable_at_startup = 1
'''
[[plugins]]
repo = 'roxma/nvim-yarp'
[[plugins]]
repo = 'roxma/vim-hug-neovim-rpc'
13. vimを再起動し,上記のプラグインをインストールしたが,deoplete.nvimによる補完が働かないことを確認した _,r=''
/i ,/;;;''"´ ̄ ̄``'‐ー''フ
( V;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;く_,ッ,
'フ,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;/
(/lヾ、ヘ、;;;;;;;;;;;;;;;;;;;;;;;_/
' !,ィTi'' `'''l,∩-ー ''' ノ
l じ' 'ノ;;;;;ヒニ´
l ,-ー''フ三ヨ
,=ヽ_,-l_,,/:::l´ ヽ
l l^'-v-ー'''^:::!__ニ |
(ヨ)、、_;;;;r=''l' l
/ ̄ ̄'--t-tt'´
/`''ー,- 、__」 ヾ、
__/ヽ、__/ ヽ、_/ヽ
ヽ、, `'-ッ' ヾ-'^ >
`ヽノ ⊂,,_,,/ お前らってvimの基本操作覚えるのにどれくらいかかったの
あえてvimをテキストエディタとして使う天邪鬼と違って選択の余地がない場合は辛い
老害だの文句言いながら使ってたらなぜかvimtutor程度は覚えてたから困る >>296
Vimに親でも殺されたのか?
コンピュータ使うまえに日本語を使えるようになろうぜ >>296
無理してvim使う必要ないんだぜ?
俺も同じこと思ったが、vimに親でも殺されたのか? vimtutorでカバーされてる範囲を覚えたんなら十分だろ 他人にVimを勧める気は毛頭ないが(面倒くさいので)、
もし突然Vimが使えなくなったら(or使用を禁止されたら)、
俺はプログラマを廃業するしかないね 俺はLinuxやるならvimは必須だって授業でやらされたけど登竜門じゃなくなったのか
こっちはnanoの存在知らんし設定弄るのに避けては通れないとかで
テキストエディタにvimを強要されたのではなくてあくまでLinuxの基礎としてだから状況違うが ビジュアルモードで範囲指定した部分を他の文字に置き換えるにはどうやるの?
あかさたなはまやらわたかはや
の14文字を選択してたとして、
ふじこ
の3文字に置き換えたい
あかさたなはまやらわたかはや
を選択して
rを押して文字(ふ)を入力すると
ふふふふふふふふふふふふふふ
になってしまう 最近microって言う、めっちゃ普通のキーバインド使えるエディタがあるらしい >>305
ありがとう
xiをsだけで出来るって事? >>306
cでもよし
visualモードのsとcは同じ
俺はsはめったに使わないので :sort コマンドをマップしてる >>307
どうもありがとうございました!
あと、範囲指定した状態でpでペーストしたらヤンクした内容に置き換えてられるんですね
数字の上にカーソルを合わせた状態で何かのキーを押せば1つづつ増減できたと思うんんですが、どのキーを押すんでしょうか?
しばらくvimを使わないとすぐに使い方忘れてしまいます。 同じ置換でもsubstituteだったりreplace面倒だから統一してくれない? sとrどっちがどっちか分からなくなるってことだろう
そんなの慣れだからひたすら入力するしかない substituteは代替でreplaceは交換らしい
確かにrやRコマンドはあくまで文字の入れ替えだけだな ていうかaとiが対になってるってのもなんだかなぁと思う。
appendとinsertだっけ? うーん。 単語の頭文字ならまだいいじゃない。
記号が混ざるとカオスだわ
先頭のニュアンスを含む文字記号: I, +, -, 0, ^, '
前へ進むニュアンスを含む文字記号: l, n, ;, + Vimでカーソルの位置を記憶する設定ってなんであんなにややこいんだろう
set savecursorpos
みたいに一発で設定できればいいのに ^や$での移動は正規表現思いだせってことなんだろ
なんでこいつらを頭とケツの意味にしたのか知らんが
貼り付けのpがpasteじゃなくてputだってのが衝撃だわ >>319
英語配列では^と$が隣り合ってるからかな
と勝手に思ってる 押しにくいから^と$は<leader>+hと<leader>+lにしてる bashだと空白で始まる履歴や履歴の重複を回避できるけどvimにもあるのかな
その場で履歴を編集できたらいいんだけど Vim8.xで環境変数がない場合の既定の文字列を設定するって実現できますか?
シェルで言うなら${ENVVAR:-defval}みたいな感じです
$ echo ${ENVVAR:-defval}
→defval
$ ENVVAR=newval
$ echo ${ENVVAR:-defval}
→newval 数十行の各行の頭に一文字+空白を入れる、みんなならどうやるの?
一文字は同じ文字の場合もあるし、連番の場合もある。 入れる文字がどこかに書かれてるならCtrl+vで貼るだけだけど Ctrl+vで矩形選択してshift+iの後にfoo入れてESC
矩形貼り付けだとCtrl+r+"なんてしょうもない手順も踏まなきゃならん
一行のみで改行コードなしの制限付きでな /var/lib/vim/addons
↑こんなパスが&runtimeに!
知らんかった。システムワイドに使いたいアドオンを管理するのに便利だな >>325
■連番でない場合
ctrl+vで各行の先頭を範囲選択しておいて、
大文字のi+好きな文字列
■連番の場合
vで範囲選択しておいて、
:!nl -w 2 -s " "
でもvimmerなら当然マクロだよね!
1行目だけ
1 abc
と入力して先頭にフォーカスあてといて、
qqywjPbq10@q >>329
おっとまちがえた。
qqywjPbC+aq10@q
ここでC+aはctrl+a :r! seq -f "foo\%02g.txt" 10
vimマクロ?知らない子ですね いいかげん連番機能覚えような
:h v_g_CTRL-A >>332
このような数字のリストがあるとする:
1.
1.
1.
1.
2番目の "1." に移動し3行をビジュアル選択してから
g CTRL-A を押すと、このようになる:
1.
2.
3.
4.
ctrl+vで矩形選択した後にg ctrl-aだよな?1のままで変化しないぞ
単行だとちゃんと加算されるけど 連番なんて滅多に使わないからctrl+aで加算されることだけ覚えておいて後はqのマクロで対応するかな いやいや “.” も選んでもちゃんと連番になるよ。
バージョン古くないか? http://i.imgur.com/miPREYR.png
やっぱり複数行選んでると加算されないな
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:42:42)
適用済パッチ: 1-52
追加拡張パッチ: 8.0.0056
まだMint17.3使っててヘルプの翻訳以外ほぼバニラ Patch 7.4.754??により Visual モードで選択している数字を一括でインクリメント/デクリメント出来る様になりました。
https://vim-jp.org/blog/2015/06/30/visual-ctrl-a-ctrl-x.html 適当なサイトで一通りチェックして後はテキスト入力を全てvimでやるように自分に強制すればそのうち覚えてる
ブラインドタッチの習得と同じ 実践Vimは読んどけ的な感じじゃないの
実際、知らなきゃ知らないことも多い Kindle版があるじゃん
まぁ、俺も紙版が好きだが UNIX系OSの入門書だと大抵viから入るからなんかその流れで あくまで常用するテキストエディタとしてvimを選ぶのはアホってだけであって
設定ファイルを編集する時は嫌でもvimと関わらなきゃならんから結局選択の余地はないんだよな
nanoはデフォルトでアンドゥできないし有効にしても日本語があるとバグるし
こいつも変態キーバインドだしキー一覧が載ってると言っても初見じゃ絶対操作できないし
なんでleafpadのCUI版作らないんだろうな vimのとっつきにくい所はキーバインドだけなのでそれさえクリアすればむしろ他のテキストエディタ使う必要などなく普通に常用できる vimは難しいって言う度にがなる奴って禅問答でも趣味にしてるのか
出鼻を挫かれて辛いって言ってるだけなのに
どんなものでも覚えりゃ楽だし便利なのは当然だろうに 僕はVimを他人に(無理に)勧める気はさらさら無いけど、
自分が使いこなせないからなのか、Vimを貶めるヤツも最低だな 常用するのはアホと言うのに対して慣れれば普通に常用できると返してるだけなのに何が禅問答なのか 常用するには日本語入力めんどくね?
カーソル多用してんの? vim使うときはほぼ全てカーソルで移動してるけど
それと日本語がどういう関係があるのか分からない >>353
日本語入力でのモードの切り替えが面倒じゃね?の意味かな? それどのエディタも同じじゃないの
日本語変換入力終わったらすぐ切るって感じで 挿入モードにemacs のC-f,b,p,n,a,e,kあたりの基本的なコマンド割り当ててたら日本語入力でも支障ない
自分の使い方の範囲内ではだけど そうだよどのエディタだろうと日本語入力は面倒くさいんだよ
もうフットペダル押している間だけ日本語入力モードでもいいのにな vimが漢字圏を意識した作りじゃないのを承知で未だに管を巻くってそこまで愛着湧くもんかね
emacsはその辺の愚痴聞かないけどあっちはうまくやってるんだろうか
あっちはあっちでキーマップを変えなきゃまともに打てなくなったり腱鞘炎なんてあるしなんとも いやそうじゃなくて他のエディタだとどうなのか本当に知らないんだけど
vimでも全く不便に感じないし
どこがどう違うんだ?
挿入モードにして打ってる間は同じじゃないの? コマンドで移動するタイプのエディタならどれでも日本語オンオフの手間はかかる
コマンドで移動しないタイプのエディタなら矢印キーかマウスで移動しなければならない
自分にとってはどう考えても前者の方が速いから前者の種類のエディタの中からvimを選んだだけだ コマンド打つのに日本語切らないといけないのはvimくらいだと思うけど。
普通は日本語onのままctrl+何か 日本語で長文テキストを作るときはメモ帳ライクなエディタを使うかな
そんなこと滅多にないが spacemacs から入った者だが、SKK と Vim の相性ってどうなの
あとスラッシュとかクエスチョンでの検索で migemo 使えないのも改善したい nnoremap う u "元に戻す
nnoremap っyy yy "ヤンク(コピー)
nnoremap x x "一文字切り取り
nnoremap dw dw "一単語切り取り
nnoremap っd dd "一行切り取り
nnoremap D D "行末まで切り取り
nnoremap 2っd 2dd "2行切り取り
nnoremap 3っd 3dd "3行切り取り
・・・
nnoremap p p "貼り付け
nnoremap 2p 2p "2行貼り付け
nnoremap 3p 3p "3行貼り付け
・・・
これでコマンドモードのまま無理やり編集してる
vimは簡易編集でしか出番ないからこんな不格好なので十分
vimでの日本語編集は避けたいしまだcatの方が、ね もしモードがなくて全部controlキーとかとの組み合わせだったら覚えられる気がしない
すでに割り当て済みのキー多いから覚えにくいマッピングになって結局限られた機能しか使わなくなりそう UNIXに元々入っているからって理由だけでvim使ってる
emacsとかよく聞くけどこっちも元から入ってるんけ こういう話題でも今更ながら盛り上がるけど、
Vimの挿入モードの操作性が割と貧弱なのは周知のことじゃないの?
そういう風に使うものでもないし。 サーバのVimでヤンクしたら操作してるこっちのPCのクリップボードにも入ってほしい それは tmux でもできるし、ターミナルエミュレータの機能でもできる ああ、tmuxでもできるけど、tmuxでやると行番号は入るし行末にもスペースが入るから複数行コピーはめんどくさかったんだった
コピペのたびにset nonumberも面倒いし こっち側のクリップボードの中身をサーバのvimにpで貼り付け出来ないから、vimのインサートモードの状態で⌘+vで貼り付けたらインデントがむちゃくちゃになってしまう ssh経由で手元のマシンのクリップボードに入れるマッピングしてるな
ヤンク→クリップボードだとゴミだらけになるから明示的なマッピング shift+insertで貼り付けるとインデントがおかしくなるのは
貼る前に:set nocindet :set noautoindentとやってからやると大丈夫だけど
これがものすごくめんどくさい 貼り付けインデント崩れでよくやるのは、
:set paste してから貼り付けて :set nopaste で戻すかな
これ忘れて崩れた時は、ヴィジュアルとかで範囲選んで = のvim任せ再インデントとかもたまに >>377
bracketed paste modeに対応したバージョン使ってる? 昔は貼り付け時にインデントおかしくならないように貼り付け用マッピングを用意してたけどいつの間にかいらなくなった コピーがYなのが一番不可解なんだけどこれ慣れるもんなの?
偏屈なのか使う奴だけにしてくれ >>382
コピーじゃなくてヤンクと考えればいいよ。 しばらく使ったら「このキーは何の頭文字か」とかまったく気にならなくなるぞ
重要なのはホームポジションからの距離 vimと違ってemacsは日本語関連の愚痴聞かないがあっちはIMと仲良くやってるのか
マウスもカーソルキーもない時代に高性能なクリップボード作ったとかビルジョイ未来に生きてるな Emacsも使うけど日本語で特別な問題を感じたことはないな。
Vimの方が経験が浅くてぼんやりそういう印象を持っていただけだけど、
ここに書かれているような説明で正しいのかな?
https://www.soum.co.jp/misc/vim-no-susume/12/l >>379
今xtermで試したらずれなかった
けど俺が普段使ってるターミナルエミュレータだと駄目みたいだ
>>380見てなんかやれば直せる?のかもしれないけどこれを理解するのが大変そうだ set keywordprg=:helpをやるとshift+kでカーソル位置の文字でヘルプ引けるのな
vimrcを弄る時の手間ちょっと減るわ あまり頓着してないけどタブ派かスペース派でも分かれそう デフォルトだとタブがスペース8個分になるのはどこから来てるんだろう(´・ω・`) 全角はスペース2個分だから、全角4個分でスペース8個とか >>392
https://superuser.com/questions/355863/why-is-the-default-tab-size-8-spaces-where-does-this-come-from-and-why-is-it-th
ベストアンサーに対するコメントの最後2つが最もらしいけど、
1) タイプライターの時代に数字を含む表を作成するのにセルの幅が8つだと7桁までの数字を格納できて一般的な用途で都合が良かった
2) 印刷物のパラグラフの最初のインデントは5文字(1インチ)なのでタブを5文字に変更しても良さそうなものだが、コンピューターの時代になっても8文字が使われ続けたのはバイナリの計算で5よりも8を足したり引いたりする方が楽だったから 初心者だから筋違いなこと言ってるかもしれないが、タブインデントのときに行移動すると、インデントしてるタブ自体が文字としてカウントされるからめんどくさい
スペースインデントなら行頭の文字にカーソルが入るんだが POSIXによると最も基本的なshでも$()によるコマンド置換ができるようですが
vimのft=shにおいて$()が正しくシンタックスハイライトされません。
これってバグ報告やらをすべきでしょうか。
vim8.1 仮想コンソールからfbtermの上でvimを開くと配色設定バグるんだけど何が原因なんだろ
syntax on
set t_Co=256
colorscheme desert256
設定はこれだけどvim全体がなぜかシアン色っぽくなってかなり見にくい
fbterm使わないとvimは白黒のままだし設定不足かな >>396
自分も8.1 (MacのHomebrewの最新版) だけど
vim -u NONE <filename>.sh
で起動して
:set filetype=sh
:syntax on
したら $() にちゃんと色つくな
一方で
https://stackoverflow.com/questions/2576687/how-to-highlight-bash-scripts-in-vim#comment84057714_42543354
みたいな話もあるからよくよく自分の環境を確認した方がいいな >>398
すいません。言葉足らずでした。
普通に登場する$()はいいのですが,
変数置換で使用されるコマンド置換に対してうまくはたらきません。
例えば
echo ${SOMEVAR:-$(somecmd)}
↑こんなやつです。これは
SOMEVAR変数に値が格納されていたらその値を返し
されていなければsomecmdの実行結果を返すというものです。
ここでの$(somecmd)が,エラーのようなシンタックスハイライトされますが
これはPOSIXでも既定されている正しい構文です。 :help ft-sh-syntax
ちゃんと let g:is_posix = 1 とかやってるか? オライリーからVimの新しい本が出てるんだけど誰か読んだ?
http://shop.oreilly.com/product/9781680502626.do
翻訳も出てほしいけど入門Vimすら出ないから無理かな? これ実践Vimの続きじゃねーの
内容は少ししか増えてないってどっかで読んだ気が は?出版社ちがうじゃんって思ったが実践Vimと同じ人が書いてるのか
実践Vimも読んだことない
再販してほしいんだが 前回の本は素vimをどう使うかの本で、新しいのはプラグインも含めたカスタマイズの本みたいね
実践vimは結構売れたみたいなのになんで絶版になったんや(´・ω・`) 出版社が無くなったからかな?
アスキーと角川の合弁会社?
電子書籍はまだ売ってるのに紙の本はなんで絶版なんだろ 電子版もあるし英語版第二版も出てるしvimもバージョンアップするしで在庫リスクを取りたくないんじゃね? >>397
fbterm 使わなくても :syntax on で色は付くと思うけど
環境変数 TERM が dumb とかだと白黒になるね
fbterm上で256色を扱うには、TERM 環境変数を "fbterm" にする必要がある
$ TERM=fbterm vim
man fbterm の 256 COLOR EXTENSION 参照
シェルの初期化ファイル(~/.bashrc とか)にこういうのを書いておけば毎回指定しなくて済む
if ps "${PPID}" | grep -q fbterm; then
export TERM=fbterm
fi ちなみに今使うんならfbtermじゃなくてyaftのほうが軽いし余計な設定なしにUnicodeが扱えるのでおすすめ >>407
ありがとう
fbtermは仮想コンソールの出し方調べてる時日本語が化けたから入れたんだ
下手にフォント弄ると欠けるけど >>400
すいません
is_posix知らんかったです
ありがとう >>411
オライリーで販売してるってだけで出版はオライリーじゃないよ >>413
そうなのか
だから日本ではオライリーからじゃなくてアスキーだったのか ずっと:wq!で保存終了してたけど:xやZZがあるなら教えてくれよ
変更してないのにタイムスタンプ変わって気になってたんだ
ZQはちと押しにくいな vi - How to exit the Vim editor? - Stack Overflow
https://stackoverflow.com/questions/11828270/how-to-exit-the-vim-editor
「Vimを終了する方法」、100万PVを突破
https://developers.srad.jp/story/17/05/25/0515242//
ストーリー by hylom 2017年05月25日 16時15分皆初めは困るやつ 部門より
技術系Q&Aサイト「Stack Overflow」に2012年8月に投稿された「How to exit the Vim editor?」という
質問ページのページビューが、100万を突破した(Stack Overflowの公式ブログ)。
このページでは「Vimが終了できない」という質問に対し、Escキーを押し、
続いて『:q』や『:q!』などを入力するという終了方法が親切に解説されている。
この記事は昨年Stack Overflowのページビュー全体の0.005%を稼いだそうで、
平日のピーク時には一時間当たり80人がこのページを見ていることになるという。
また、国別やメインのプログラミング言語別のアクセス統計も示されている。
そらこうなるわ どういう事?
保存しないで終了したい時は:q!でやってたんだけど、もっと簡単に終われるの? https://qiita.com/clarinet758/items/d778e13d9c24e6f62683
ZQ
:q!と同じで保存せず終了
タイムスタンプは当然変わらない
ZZ
:xと同じで保存して終了
uで変更前に戻してから終了するとタイムスタンプは未更新のまま
あくまでundoだけだからxで消してもタイムスタンプは更新される
:wq!
保存して終了
変更せずともタイムスタンプは常に更新
vimにも終了するショートカットがあったって話
ZZとZQはノーマルモードらしい
確かに:wq!は開いてすぐ終了しても時間変わったわ 変更せず :w しただけで多くの変更検知系プログラムが反応するから明白だと思ってたけど、タイムスタンプ更新されるの意外と知られてないんだな :wって「write」の頭文字からきてるんだろうから書き込まれて当然と思ってたわ。違うんかな 基本的にZZと:qしか使ってなかった
たまに日本語関係ファイルでZZで抜けられないときがあってそのときは:w!してから:q!とか shift+zキーなんて押しにくいからZZはほぼ使わない いつもとちがうキーボードでコロンが見つからないときZZいいよね :versinの出力結果って:filterで切り取れないのかな。
https://vim-jp.org/vimdoc-ja/various.html#:filter
↑ここを読むかぎりよさげなんだけど。 Vim8のパッケージ機能ってさ
~/.vim/pack/の下にstartやoptを配置すればいいのにどうして
~/.vim/pack/SOMETHING
とかいうディレクトリを挟む必要があるんだろう。将来的になにか拡張されるのかな。 ZZはいいけどZQって遠くね
せめてQQみたいに重ねりゃいいのに >>428だが自決した
各プラグン管理ツールをそこに置けということだ。
Voltなら~/.vim/pack/volt MinPacなら~/.vim/pack/minpac。
なるほどねぇ……
個人で管理する文にはどういう名前にすべきだろう~/.vim/pack/defaultとかかな。 >>431
死ぬな?
「_」は思い付かなかった。頭良いなあんた 昔はジョークで自己解決を自決って略してた気がするけど、最近は本来の自決の意味が失われつつある
そのうちネットから現実世界に広がり、辞書にも自決=自己解決の略として載るのだろう 以前どこかのスレでジョークで自決と書いたつもりだが、自己解決のつもりで書いたのならそれは間違いだ、リアルじゃなくてもそんな言葉は使うもんじゃ無いでんでんと説教された。 「云々 (うんぬん)」を「伝々 (でんでん)」と間違えてるのか?
どっからどこまでがネタか分からんな ここがなんjやニュー速なら小1時間晒されるレベルのまちがいやめろ >>432
自決には自殺の意味があるからさ
言いたいことわかってて言ったんだごめん 129 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/05/04(金) 18:32:42 ID:oAXBMef00
すいません、動画が見れないんですけど何のコーディック入れたらいいんですか?
130 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/05/04(金) 19:51:30 ID:oAXBMef00
自決しました
131 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/05/04(金) 20:02:22 ID:727ZIH/W0
待て!はやまるな! >>438
130は間違った日本語を広めた責任を取って自決すべし vimで例えばiをaにnoremapすると、ciwとかのときにもcawって認識されるじゃないですか
単一コマンドのときだけremapして、ciwみたいなときだけ元々のキーにする方法ありませんか? もしかして小指がない人?((((;゚Д゚))))ガクガクブルブル >>440
試してないけどlangmapとか使えばどうにかなるかも noremapの代わりにlangmapするってことでしたら連続したコマンドのときもmap先に固定されませんか? Vimの元ネタのViってまだ開発は続いているんでしょうか?
ググったけどよく分からないです >>440
c のようなコマンドの後続部分は「オペレータ待機モード」のマップの範疇なので
:noremap i a
:ounmap i
ただこの場合は単に
:nnoremap i a
で良い気がするけど
https://vim-jp.org/vimdoc-ja/map.html#omap-info
> あるマップをノーマルモードとビジュアルモードで使用し、そして、オペレータ待機
> モードでは使用しないという場合は、3つのモードに対してマップを定義してからオペ
> レータ待機モードのマップだけを削除します:
> :map xx something-difficult
> :ounmap xx
> ビジュアルモードとオペレータ待機モードの場合や、ノーマルモードとオペレータ待機
> モードの場合も同様にします。 今あるのはviじゃなくてnviじゃね?
unixのコードを取っ払って作り直したvi
軽さ以外であえてこれを使う意味なさそうだけど vimの矩形貼り付けが覚えられないんだけどいい方法ない?矩形挿入は覚えたけど
プラグインはどれ入れればいいか分からんし管理も面倒っぽいし入れてない ビジュアルブロックモードで
??????????
?????? ??????
?????????? ????????
????????
????????????
を
??????????
??????
?????????? ??????
???????? ????????
????????????
ってするのどうやるんや??? 空白行を同数の空白行に変えるだけなので、何もしなくてよい。
HTMLタグをミスって表示されていないだけなら、本人の釈明があるまで放置しておけばよい。 5chってHTMLタグとか効いたっけ。
<br />
<br />
test Vimで地域化されている単語を利用する方法ってある?
うまく説明できるか怪しんだけども
言語環境変数を日本語でVim(huge版)を起動した時は挿入モードに入るとコマンドラインに「-- 挿入 --」という文字が表示されるのに対して
言語環境変数が英語の場合は「-- INSERT --」という表示になるよね。
この処理を拾えないかな。
具体的には,現在のモードをstatuslineにテキストとして反映したい。
その時に英語で立ち上げたときは「INSERT」,日本語で立ち上げたときには「挿入」みたいな表示になってほしい。 >>455ですが質問をとりけします。
statuslineは扱えるコマンドが貧弱すぎて仮に上述が実現したとしても望む表示は得られないと判断しました。 普通にLANG=C vimで英語起動しちゃイカンのか
このCがcancelのCじゃないらしくて驚いたわ >>457
LANG=C vim
で起動した場合はA表示して
LANG=ja_JP.UTF-8 vim
で起動した場合はBを表示
っていうふうにしたいんだわ。
if v:lang='ja_JP'
みたいにしたらいいのは知ってるけど
AやBは翻訳されてる対応関係があるので(INSERTと挿入)
せっかくならそれを利用したい。 >>456
判断ミス。関数呼べて好き勝手にできるよ。 >>455
Pythonインターフェースが有効なVimなら、Pythonのgettextモジュールが使える
素のVim scriptにはなさそう
https://pastebin.com/FTq4Mb3H
ついでに statusline の設定にも挑戦してみたけど、i_CTRL-O のとき期待通りにならなかった
挿入モードで CTRL-O したときの mode() の値は 'niI' だと思ったのだけど、実際には 'n' になってる
set statusline=%!mode() で確認できる >>460
横からだけど
mode()でなくmode(1)
にすればいいんでは。 >>461
おお、できた
:help mode() の一段落目にちゃんと書いてあるじゃんね
最初からその下の表とばっかり睨めっこして、完全に見落としてました
ありがとう Vimのleaderをスペースに割り当てようと思ってるんだけど、暗黒美夢王とかのdotfile見るとそのままスペース+他コマンドってやってて
Leaderとしてのスペースとそのままのスペースの違いってleaderに制限時間あるだけ? >>460
すいません。まさか答えてもらえるとは思えず
返信が遅れてしまいました。
まさにそのようなステータスラインが欲しかったので
ほんとうに感謝しています! >>463
複数キーのマッピングに制限時間があるかどうかは 'timeout' オプションで制御されるのであって、leaderかどうかは関係ないはず ヘルプを引かずにvimコマンドの一覧を出す方法ないですかね
索引とは言わんからbashのhelpみたいな要約が欲しい >>466
"(それぞれのコマンドの)ヘルプを引かずに"って意味だね?
:h quickref Vimでシステムのコマンドを補完する方法ってある?
C-x C-fでシステムのファイルを補完するように。 いまやったら普通に出てきた
:!ここで何か途中まで打ってタブで >>467
マジであるんかい
vimtutorや:の補完と一緒にスレのテンプレに入れておくべき >>469
いやそうじゃなくて
インサートモードのときにそれをやりたんだよ。
意図を伝えられなくてすまん。 失礼します
Vimで
#include <stdio.h>
int main() {
printf("Hello World");
return 0;
}
の intのiにカーソルがある場合、jで下に移動するとiの真下のスペースに改行がいきますが、インデントを考慮して、printfのpに下移動するにはどうしたら良いでしょうか? スペースが省略されてますが、printfとreturnの前に4文字スペースのインデントを入れたつもりでした
すみません >>474
返信ありがとうございます
上移動の時にもインデントを考慮することはできないでしょうか? -で同じように動くけどこれインデントとか関係なく
最初の文字に移動してるだけじゃない ファイルタイプごとのインデント考慮して行移動って出来なかったっけ ノーマルモードでもEnterで空行挿入できるようにしてたわ
、Enterで改行な >>479
vim foo.vim
してインサートモードで
:!<C-x><C-v>
とかか?
スクリプトからなら、例えば
echo getcompletion(‘v’, ‘shellcmd’)
ってすれば、viewやVimやvimdiffやもろもろ表示されるから上手いこと使って。 >>480
>>481
つまり
getcmdpletion('', 'shellcmd')
を辞書につっこんでやればいいのでは raspbianでvimprocビルドしようとすると
セグメンテーションフォルト出るのですが
どうしたらできますか? Linuxのエディタと言えばvimとEmacsだけど他のエディタが普及しなかったのはなぜなんだろうか
nanoの登場からまだ20年経ってないし当時はvi系以外の選択肢がなかったにしてもだな
Ctrl-Aを使う普遍的なキーバインドのCUIエディタが一向に導入されない理由にはならんだろうよ
対してBSDはそれが使えるeeがあるらしいし
別にviへの不満じゃないからgedit使えとか益体もないのはなしで頼む >>483
今使っていませんが、試してみると普通にビルドはできるようですが。
raspi 4.14.62+ >>485
情報ありがとうございます
普通にできるはずなんですね・・
もう少しがんばってみます
Linux raspberrypi 4.14.61-v7
で以下のようになってしまいます
~/.vim/bundle/vimproc.vim $ make
make -f make_unix.mak
make[1]: ディレクトリ '/home/pi/.vim/bundle/vimproc.vim' に入ります
cc -W -O2 -Wall -Wno-unused -Wno-unused-parameter -std=gnu99 -pedantic -shared -fPIC -o lib/vimproc_unix.so src/proc.c -lutil
<built-in>: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions.
make_unix.mak:17: ターゲット 'lib/vimproc_unix.so' のレシピで失敗しました geditは初心者には使いやすいよ。
viとか鬼畜レベル Vimの:Manプラグイン,日本語の見出しがおかしくなってるんだけど
俺の力ではそもそもなにが駄目なのかすら分からん……
誰か修正できる人いない? Vimでcppを今日初めて書いたのですが、
インサートモードでstd::cin の::打つ時に、1つ目の:の時にインデントが削除され、文ごと行の最初にいきます。(分かりづらくてすみません)
2個目のコロンを打つと直るのですが、文を移動させない方法はありますか?また、どうしてこのような挙動なのでしょうか C言語やC++言語ではラベルつけるときにインデントを一つ下げる習慣があるからじゃない。
void main(){
std::cout << "test";
label1:
std::cout << "label";
goto label1;
}
2回連続::をシュパパパって入力すれば問題解決じゃない? うーん。結局インデントが元に戻るならどうでもいいと思うんだが。 何故改行時にインデント解除するようにしなかったのかという気はする。 標準プラグインだから,みんなメンテされてると思ったらおおまちがい >>498
サンクス
そんな便利な機能が標準であったのか! 便利な機能ではあるんだけど
日本語の見出しがズレたり消えたりするんだよね それ manコマンドのバグだよ。
shellから
man -u MANPAGER man
だとちゃんと画面に表示されるけど、
man -u MANPAGER man > foo
だとエラーが30行くらい表示された挙句、fooの内容は日本語見出しが欠けてる。 manページを保存した時に出るあのエラーやっぱりバグか
じっくり読もうと思ったら一部が欠落してがっかりしたからな manのバグなのね!
やっぱり男は糞だわ!(フェミニスト並の感想) c系コマンドでヤンクされるのってデフォルトですか? set smartindentしてるとシェルスクリプト書いてるときに
字下げブロック内部でも#コメントが行頭に行ってしまう。
多分だけどCなんかのプリプロセス命令と同じ扱いになってるんだろう。
なんで「smart」indentなのにこんなお馬鹿なのか 自分の環境では問題ないけどな
環境がsmartじゃないんだろうね 日頃でvim使ってる奴って覚えるのにどれくらいかかった?
仕事で使ってる奴は尻に火が付いた状態だから参考にならんし除外で
vimよりLinuxの基本コマンド身に付ける方が先かもしれんが >>512
お前はまずエディタにこだわるより先に仕事で使ってるCを覚えろよ >>513
勝手にお前と同業にしてくれるな
悪いこと言わんから見当違いのこと言うくらいならROMってた方がいい ftpluginとかって.vim/after/とかで設定してる?
それともautocmdで.vimrcにまとめたほうがいいのかな。 vimrc分割してる人って少ないね
用途毎分割したほうが見通しが良さそうなのに(´・ω・`) よっぽど巨大なのかな?
自分は折りたたみで十分間に合ってる。
分割までするのはちょっと面倒。 分割しまくってるな。一つのファイルは100行前後。 入力途中のキーがコマンドラインの右端に表示されますけど、この文字数を増やすことってできますか?
キーマップを [one-two-three]a に設定したとして
[one-two-three] まで打ち込むと頭が切れて two-three] な状態になってしまう neovimのフロントエンド
どれもgvimに比べて微妙すぎる…
oniもデカイファイル扱ってると挙動おかしくてイライラするー 不正解
どこが微妙が聞いて欲しいの
そしてデカイファイルを一緒に扱ってほしいの Vimの上級者の人は日本語入力とモードの関係で困ったりしないもの?教えて欲しい。
時々ノーマルモードでIME ONになっていてあちゃーという事がよくある。特にブラウザとか他のアプリから戻った時。
例えばブラウザで何かを検索して、Vimに戻りカーソル動かしたり何かしようとするとIME ONだった、、、となることがあるのだけど。 xfceとfcitx-mozcだけど俺もなるぞ
別のウィンドウに移っただけでIMが勝手にONになる現象
そのくせ必ず起こる訳じゃないから原因特定のしようがない
それっぽい設定はないし端末弄ってる時に限って変わるのは勘弁して欲しい 俺の環境だと全く問題になったことないな
完全にウインドウ毎にONOFFの状態が分かれてる
ターミナルエミュレータも同じのいくつも開いてるけどそれもそれぞれ状態持ってる
gvimは使ってないけど多分それでも問題は起きないはず 流れをぶった切ってしまってすいません。質問があります
コマンドラインモードにて、<C-k>を「カーソル位置から行末まで削除」という機能にマップしたいのですがどうすればいいでしょうか。
例えば「カーソル位置がどこであってもコマンドライン全体を消去」という機能ならば
cnoremap <C-k> <End><C-u>
などとすれば可能ですが、Vimのコマンドラインモードには「カーソル位置を取得して云々」といった機能がないように思えます。
(僕の探し方が悪いのかもしれませんが)
https://vim-jp.org/vimdoc-ja/cmdline.html#cmdline-editing
GNU Bashなどのシェルでは(既定で)Ctrl+Kに「行末まで削除」がバインドされていることが多く、それとVimでの挙動とを合わせたいのです。
どうかよろしくおねがいします。 <Del>が最後のとき前の文字消しちゃわなければできるんだけどね
普通に<Del>使ってるときにも行きすぎて困ることがよくある どっかで拾ったやつ
cnoremap <C-K> <C-\>estrpart(getcmdline(), 0, getcmdpos()-1)<CR> >>532
>>534
ありがとうございます! 解決しました!
getmcdpos()関数なんてあったんですね。
僕はいったいどのような探し方をしていたのでしょうか…… 靴のメーカー? ダサくない?あれ。
今時はああいうのがお洒落なんだろうか。俺から見ると田吾作が履き潰した安物の革靴にしか見えねえw Vimのjobとかtimerとかどのくらい活用してる?
あ、使ってるプラグインの内部で使用されているのは数えずにさ
自分で明示的にtimerを使ったりすることってあるんだろうか。
エディタにそこまで必要かなとも思うし。 よくこんな難しいエディタを挫折せずに使えるものだな 完全なvim童貞からvim入門みたいな記事に載っている一通りのコマンドが自然に使えるレベルになる程度なら大して難しくはない
キーボードを人差し指だけで押してた人がタッチタイピングできるようになる程度の努力でよい 実践Vimが良書なのは、Vimを環境のように使う愚行とは別の次元の内容がテーマだからだね
シンプルさ以外に取り柄がないエディタだって認識して使うべきなんだよな
環境がにしたいならEmacs Lispの拡張性にはかなうわけない
ノロマな環境Emacsか、シンプルなテキストエディタVimか >>545
vimって視覚障害者でも使えそうだな。 出先のUnixやLinuxでテキスト編集する時にVi(m)使えないと往生するんだよねえ
いつまでもこういう古いものが必要とされる世界もどうなんだろって思うけどさ >>549
古いHP-UXとかだと入ってないんだなこれが 出先の他所のPCでテキスト編集するなんて考えられん
ずうずうすぎるな >>547
モード変更の時に日高のり子声で音声読み上げされるんですね? ubuntuの標準のレポジトリでneovim入れられるんやね
もうvimから完全に乗り換えてもええかも(´・ω・`) 安定したskkプラグインある?
neovim でもいい EmacsでDDSKKを使うのと同じくらいメリットがあるのかな? Qで変換用の特殊文字再配置 といったことができないから
同じじゃなくて多少はやれること少ない
しかしOSのIMEよりON/OFFのトラブルに巻き込まれずに済み
他のOS環境でも同じ動作を期待できるのでメリットある 確かにQが使えるのは他には無いよね。
でもskkservにも対応してるみたいだし、試してみてもいいな。 eskk.vimをちょっと試したところだけど、
uim-skkでも対応してる数値変換とか動的補完みたいな
便利機能がまだない?のがちょっと辛いかな。
それと辞書サーバーでなぜか送りありの候補が出てこない?! dictionary.vimに書いてあった。
Note: skk server does not support okuri. 質問しちゃいますね
QuickFixとgrepを利用したケースです。
autocmd QuickFixCmdPost *grep* cwindow
結果表示で、ファイル内容を表示する分割画面の方で
検索文字列にハイライトを効かせるにはどうしたらいいのでしょう? keymapって使ってる?
$VIM/keymap/kana.vimとか。 Vimでhttpを介したファイルを編集しているときに
そのファイルがリモートファイルかローカルファイルかを判別する方法ってありますか?
~/.vimrcに
autocmd BufEnter * foo
という記述をしてるんだけど、fooというコマンドはリモートでは上手く動かない(ファイルシステムに依存してるので)
だからリモートファイルを読み込んだときはこのfooコマンドを実行しないようにしたい。
自分はファイル名を表わす%を弄くってプロトコルっぽい文字列(http://とかfile://とか)があったら
真を返すような関数isremote()を作ればいいと考えたんだけど、その先に進めない。
というのはファイル名変更子はファイル名を後ろから切り出す機能しか持ってないので。 vim消したらsudoきえちゃったししぬかとおもった。 最近のLinuxにVimを入れるとしたらvim-gtk3パッケージがいいな Python3およびRuby,Lua,TCLのサポート。
クリップボードとの連携も完璧(特殊レジスタ+/*が使える) ノーマルモードで[count]>>や[count]<<
とやったときに[count]行が1つずれるのではなく
**その行が**[count]文ずれる
ようにするにはどのようにすればいいでしょうか。 ★★★少子●高齢化を防ぐ為に、多産家族の表彰制度を導入●すべきである★★★
http://jbbs.●livedoor.jp/bbs/read.cgi/study/3729/1226114724/73
●
この掲示板●(万有サロン)に優秀な書き込みをして、総額148万円の賞金をゲットしよう!(*^^)v
http://jbbs.livedoor.jp/study/3729/ →リンクが不良なら、検索窓に入れる! やっとneovimに完全した
vim用とneovim用にプラグインや設定を共用するのが面倒くさくなってしまった(´・ω・`) そんなに違うかな?
うちプラグイン15個くらいしかないからわからないたけ? ctrl-pとctrl-nは挙動をmapやnmapで変更できなかったりしますか? >>592
使ってるVimのエディションが分からんので
なんとも答えずらいが できると思うが?
変更できなかったの?
nnoremapは試した? たまにviminfo整理するけどソートせずに重複の履歴を消す方法教えろ下さい 履歴は重複しないはずだけどな
> - 以前と全く同じコマンドを打ち込んだときは、古い方の記録が消される (繰り返され
> たコマンドが古いコマンドの履歴を追い出して消すのを避けるため)。
https://vim-jp.org/vimdoc-ja/cmdline.html#cmdline-history >>594
sort2 ()
{
awk '!a[$0]++' $1
}
.bashrcにこれ登録してvimで範囲選択したら!sort2
順番を維持したままの重複削除って需要あると思うんだがなぜないのか パソコン始めたばかりです
ヴィムってなんですか? メモ帳と同じなんでしょ? パソコン始めたばかりの人が5ちゃんのUNIX板のVimスレに来るわけないだろw 楽しいUNIXっていうパソコン初めての人向けの本でVimとEmacsの説明されてるよ >>602
それパソコンじゃなくてUNIXが初めての人向けじゃないのか >>604
ほっとけ
まともに話できる人間じゃないだろうから 1. .vimrc は cp932 を優先するよう設定しておく
set fileencodings=cp932,utf-8
2. 下記の 1行を UTF-8 で保存する (test.sh とする)
echo "番号"
3. VIM で test.sh を開く
4. cp932 と判定されてしまい文字化けする
質問:cp932 と utf-8 の順番を変えれば文字化けしませんが、順番を変えること無く文字化けしない方法はありますか? " - *- coding: utf8 -*-
はきかないんだっけか 即レスありがとうございます
test.sh の 先頭に上の記述を入れても駄目でした >>604
ログインとかパスワードとかメールとかテキストとかはじまるから本当にパソコン初心者向けだよ
古いけどマジでオススメ
綾ちんかわいい UNIX入門書って必ずviの使い方買いてあるよなw
そろそろvimが欠陥品であることを認識してほしい。 >>610
echo '# vim:fenc=utf-8' > file
echo "番号" >> file >>615
端末のエンコーディングはUTF-8でやった?
それでも見出しが広がったり欠落したりしない? https://developers.srad.jp/story/17/05/25/0515242/
https://stackoverflow.com/questions/11828270/how-to-exit-the-vim-editor
技術系Q&Aサイト「Stack Overflow」に2012年8月に投稿された「How to exit the Vim editor?」という質問ページのページビューが、
100万を突破した(Stack Overflowの公式ブログ)。 このページでは「Vimが終了できない」という質問に対し、
Escキーを押し、続いて『:q』や『:q!』などを入力するという終了方法が親切に解説されている。
この記事は昨年Stack Overflowのページビュー全体の0.005%を稼いだそうで、平日のピーク時には一時間当たり80人が
このページを見ていることになるという。また、国別やメインのプログラミング言語別のアクセス統計も示されている。
そりゃこうなるくらいだし たのしいUNIX買ってきたわ
cshだからその辺は参考にならないけどそれ以外はひと通り学べるな 拡張子ついてるファイルだと正しくインデントされるけどシェバンだけだとされない
どうすればいい? .vimファイルで
au[tocmd] [group] {event} {pat} [nested] {cmd}
↑こういう命令を着色するときに[group]が設定されていても{event}を正しく着色してくれるようにしたいのですが
どういうsyntaxを書けばいいか分かりますか。
* syntaxファイルの置き場所や設定の仕方なんかは一通り把握してるつもりです。 自決しました
syntax match vimAutoCmdGroup contained "\w\+" skipwhite nextgroup=vimAutoEventList
syntax keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoCmdGroup,vimAutoEventList
highlight def link vimAutoCmdGroup vimVar あ。これではだめです。
[group]を省略したときに{event}が[group]の構文強調になってしまいます。 すいません。どなたか
特定のハイライトグループを除いたmatchにマッチさせるsyntaxの書きかた知りませんか。
contains=ALLBUTでも近いことはできるんですがALLが含まれるせいで不正な構文も同じように見做されてしまいます。
ちょうど
syntax match XXX contained "\w\+" nocontains=YYY ...
↑こういう指定ができればいいのですが(\w\+という条件に当て嵌まる構文の内YYYグループに含まれるものは除外みたいな)…… >>635-638
任意のグループ名に対応する方法は分からないな
グループ名を明示することで満足している
https://pastebin.com/Sa4y6LGx >>639
おお! ありがとうございます。私の環境ではMyVimrcというグループ名を使っているので
ちょうど希望通りのことができました。感謝します。 すいません。635なんですけど もう一つ質問させてください……。
https://vim-jp.org/vimdoc-en/repeat.html#line-continuation
で続く行頭に\を用いて改行エスケープができるとあるのですが,
syntax keyword xxxXXX
\ kw1 kw2 kw3
↑こういった指定のときにkw1などがvimSynKeyRegionとしてハイライトされません。
syntax keyword xxxXXX kw1 kw2 kw3
という記法のときはきちんとハイライトされます。 "FILE:$VIMRUNTIME/syntax/vim.vim
syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
↑ハイライトされない原因はこのあたりだと思うんですけど 正直僕には手のつけようがない複雑さです……。 >>641-642
うん、手のつけようがないので気にしないことにしてた
けど問題の箇所をその行だと特定してくれたのでなんとか出来たみたい
syn region vimSynKeyRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="|\|\n\%(^[ \t]*\\\)\@!" contains=@vimSynKeyGroup
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|\n\%([ \t]*\\\)\@!" contains=@vimSynMtchGroup
syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" end="|\|\n\%([ \t]*\\\)\@!" contains=@vimSynRegGroup
"oneline" を外し、
"end" の正規表現に含まれる「行末 $」を
「次の行頭に空白(0個以上)とバックスラッシュが存在しない改行 \n\%([ \t]*\\\)\@!」
に差し替え
vimSynKeyRegion のほか vimSynMatchRegion, vimSynRegion も同様に >>643
まじで まじで 感謝します。
いや〜やっぱり改行の後もしっかり配色されると気分がいいですねぇ。
お手間取っていただき ありがとうございました! >>643
あ,何度もすいません,一つ,言葉足らずみたいだったので補足しておきます。
>>639で「任意のグループ」とおっしゃっていましたが
そうではなくて,
https://vim-jp.org/vimdoc-ja/autocmd.html#:augroup
↑ここに
> 混乱を避けるため、既存の {event} の名前とは違
> う名前をつけるべきである。これはたいてい意図し
> ない動作を引き起こす。
とあることから,自動コマンドのグループ名はイベント名と被っていないという前提のもと,
「"\w\+"に一致しvimAutoEventキーワードと一致しない」グループを
vimAutoCmdGroupキーワードとして設定したかったのです。
尤もそんな複雑なことをしなくても「MyVimrc」固定で僕の目的は達成できたのですが。 寒いのでそろそろ服着ますね。ありがとうございました。 aa/001.jpg
bbcc/001.jpg
これを
aa/aa001.jpg
bbcc/bbcc001.jpg
こうする方法教えろ下さい
面倒な手順で矩形貼り付けはできるようだけど長さがバラバラの場合はどうすりゃいいの
vidirで一括リネームしようと思って >>648
トン
/前の文字列を/後に貼り付けって意味かな
正規表現で&使ったことないわ 例)「今日はいい天気ですね」→「いい天気」
vimで適当な1部分をコピーして、次の行に貼り付けたい場合って
ビジュアルモードにして、「いい天気」の部分を選択して「y」を押して、次の行で「p」を押せばいいのでしょうか?
選択した部分をコピーというコマンドが見つからないです・・・ 言葉が足りなかった・・・
いつもこの方法でやってるのですが、たまにちゃんとペーストできなかったりするので
この方法で正しいのかなと疑問に思えて質問しました。 「いい天気」を選択してからyo<C-r>"
<C-r>"はCtrl+R
<C-r>"の効果については:help i_CTRL-R コピペみすってた。以下に訂正
<C-r>はCtrl+R レジスタの種類なんて意識したことないや
システム側とクリップボードが共有されればそれでいいからな
dの削除がただの切り取りなのが色々と惜しい ヤンクしたのは0レジスタに入るから気にするのはそこだけ >>650
v でビジュアルモードに入って、Y でヤンクすれば行としてヤンクされるよ。Y は大文字な。あとはふつうに p すればいい ちゃんとペーストできないってのは多分切り取りとで別のデータがバッファに入ったものをpで呼び出してるんだろうな 複数行を矩形貼り付けする方法教えてくれ
foo1
foo2
事前にヤンクしたこの2行を
aa=_bar
bb=_bar
=と_の間に入れて
aa=foo1_bar
bb=foo2_bar
こうしたい
単にfoo1を貼り付けるなら矩形選択後にC-rと"でできるけどこれ複数行の場合はだめだよね
ついでに違う長さの行を貼り付ける場合にも対応してるといいんだけど え? 普通にできね?
<C-v> →(foo1\nfoo2\nを選択)→ aa=...の=にカーソル → p vimで、:/hoo とかで検索したら行の先頭に飛びますが、検索した単語の場所に飛ぶ方法ってないです? ・・・すません。バカみたいな質問でした。n押せばいいだけですね・・・レスしたすぐ後に気づくアホさ・・・ :/hoo
これを知らなかった
直接/を打ってたけどこっちより:/こうした方がいい状況ってどういうとき? >>664
テキストの先頭から検索したい時
:1/hooってやりますね ちなみに最近のVimだと/fooを入力してる最中にも<C-t>で次の一致に飛べる iVim結構いいと思うんだけど使ってる人いるかな? foo1
foo2
aa=_bar
bb=_bar
これってfooを行頭に貼ろうとaでpしたら
afoo1a=_bar
bfoo2b=_bar
1文字ずれてこうならない? そういうときは取り敢えずキャピタルを試すのがvimの基本。 vimの移動キーに全然慣れない。なんでj=左,k=下,i=上,l=右にしてくれなかったのか・・・ 確かにASDFじゃなくてHJKL採用なのも気になる
Jを下矢印だと考えたらやっと慣れてきたが 矢印キーで移動できるのになぜわざわざhjklで移動しようとする?
特に挿入モードでは矢印キーでしかできないのに 挿入モードで矢印キー押してカーソル動かすより一旦ノーマルモードに戻ってhjklなりで動かす方が速いだろ >>678
俺はvi以外でもhjkl使ってるよ
慣れないとか言ってる人が何故文句言ってまで無理して使おうとしてるのかと書いただけ vimなんか絶対操作覚えきれねえと思ってたけど、使ってみると3日くらいで簡単になれるもんだよな。操作速度はともかく。
秀丸使っててもEscとか;を無意識に押してしまうw hjkl(左/下/上/右)
行数+hjkl(3jで下三行)
HLM(カーソル上/下/中)
PageUp/PageDown(一画面上/下)
矢印キー上下左右
結局一般的なバインドの後者2つが最も安定するわ
一気に移動する時は100jみたいにやるが ページ送りはCtrl+fb(半ページならud)の方が楽
自分は、Ctrl+fbで適当にページ送り→HMLでページ内ざっくり移動→hjklやwbなどで微調整、という感じ ワイは修正が頻繁に必要な行は覚えてるから、セミコロンで直接移動してる。そのあとwで移動かな。 そこらへんは片手だけで操作するか両手を常に固定して使うかで分かれるんだよね
ctrl+fbとか同時押しかつ両手とか片手操作からするとありえない割り当てだし capslockをctrlにしていればctrl+fbは左手で無理なく押せるし慣れればかなりスムーズ 移動方法だけでこんなにあるとかさすが貫禄のvimだな
Ctrl+fとかさすがに知らんわ
単語一文字だとwでそのまま次の行なのも盲点というか
wとbはそれこそCtrl+←→でいいが 矢印キーやら使うならvimを使う意味無いような、っていつも思うんだが、
この手の意見ってちょくちょく目にするんだよなあ。
動作の軽快さと多機能さに価値を見出してるんだろうか。
人の好みにケチつける気は無いし、ただの独り言だけど。 移動以外ほぼ素で使ってる
Insでジャンプ
C-h ^Esci
C-l $Esca
Spj %Esci
ノーマルはEsc抜きで似たようなの
ノーマル回帰
jj Esc 以下同
ただしllだけはallとか頻出語があるんでノーマップ
窓移動
S-h S-wh 以下同
InsはEscしてから
こんなもんで十分だろ いや窓移動のデフォはC-w押してから大文字HJKLとかクレイジーなのだっけな?
窓の伸縮もそこから+-とかだったかな
これは矢印キーにマップしてる >>699
正規表現置換やら簡易補完やらのレベルで多機能、って次元の話。 いや困ってる事一つあったわ
Fortranのシンタックスハイライトをカラム揃え記述と自由記述に合わせて自動で切り替えてくれない
保存して開き直すと判別してくれるからインデント見てるんだと思う
拡張子(.for .f .f90 etc)は記述スタイルと関係ないのでfiletype使うのは無理と思う
助けて 加速器物理屋さんのお出ましか。
:h fortran に解説があるが、それで解決しないならわからん。 vscodeやatomみたいなデフォルト状態で高機能なエディタが出てきたから、vimは相対的に高機能とは言えなくなったかな
色々プラグインを入れれば便利になるけど、それを維持するのが面倒くさくなってくる(´・ω・`) 矢印キーがないキーボードを使う状況を想定して常にhjklでやれって言う奴ならいた
nvi使ってる訳でもないしあいつ何と戦ってたのかなぁって
POSIX原理主義みたいなのは勘弁して欲しい 逆にvim使っててhjklでなくて矢印キー使う意味が分からない
単純にhjklの方が楽なのに >>702
すんません出先だったもんで
普通にg:fortran_free/fixed_source変数弄ったらできた
Fnキーでトグルしよう
VIMには最近VSCodeから乗り換えた
理由は公式のエクステンションが無い、野良は一つあったけどゴミgcc準拠の上まともに動かない
昔はFORCEってマルチプラットホームのIDEがあったけど、開発停止して久しい INTELはVisualFortranとか言ってVSバインディング出してるけどVSは買わなきゃだからなあ… >>705
自分はカーソルキーでやってる
Vimだと、「えーと下だからhかないや違うかな」というワンクッションが入って効率が落ちる
ではなぜVimを使うかというと、一般人にはわけのわからない代物なので
難しい仕事をしているふりができるから >>706
確かにモダンなエディタはfortranなんかサポートしてないか。
なるほどですねえ。 文法がフリーダム過ぎるのも敬遠される一因な気がする
どこにスペース入れても構わない、コンパイラはちゃんと読んでくれるのだから、正規表現マスターなら出来るとは思うけど
予約語もPRINTでも p Ri N Tでもオッケー hjklって日本語有効状態だと面倒じゃね
alt押せばできるけどこれ使うのundoくらいだ
メタキーは頻繁に使うもんじゃないしな Vimはねー、タッチタイピングできる人のエディタなの
タッチタイピングできるならhjklは超便利なの >>700
だから、それはテキストエディタとして普通の機能だ >>713
自分はタッチタイピングだけどカーソルキーを使う
ちょっと右手をずらすだけでできるし、いちいちノーマルモードに切り替えないと
カーソルを動かせないというVimの大きな欠点を回避できる ctrl-oして1回だけノーマルコマンド使えばいいだけやないの(´・ω・`) 挿入モードだけEmacsのキーバインドにするとかな 挿入ノーマルモードは完全に手に馴染んでたら強いだろうが、俺はまだ>>231みたいな状況にパッと対応できない ノーマルモードに戻すのが面倒だからという理由でカーソルキー使うぐらいなら、ノーマルモードに戻すのを楽にするようにキーマップ変えたりした方が効率的だろう >>720
自分にとってはカーソルキーを使う方が総合的に楽ってだけのこと
>>705みたいなhjkl原理主義者に例外もいるぞと言いたいわけ
だからあまり突っかかって来ないでくれ hjklにしろカーソルにしろ移動でこれらに頼りっきりになるってことは操作見直したほうがいいよ
vimじゃなくてもどのエディタ使っても効率悪いでしょそれ 別にこっちは妥協してカーソルキー使ってる訳じゃないから余計な心配しなくていいぞ
自分で設定拵えた訳じゃないし既存機能使っただけで勝手に不機嫌になられてもいい迷惑だ >>723
いやいや誰も心配もしてないし不機嫌にもなってないがな
突っかかっているわけでもなく、君個人に向けて話しているわけでもない
レスに対してオレはこうだぞ、私はこうだねとレスを返しているわけで
オマエなんかどうでもいいんだよ、ここはIDも表示されないし
オマエがどことどのレスを書いた奴だなんて把握してねーんだよ
レスが主役なんだ、オマエは脇役だ、脇役がオナってんじゃねーぞw >>722
何が言いたいのか分からん。
どうすればいいって主張なの? マウスが両手でないと操作できなかったら不便だと思う人が多いだろうけど
キーボードでほとんど全ての操作をしてると片手だけで簡単に操作したくなるから
ctrlとなんとかみたいなのは逆に論外になるんだよ
ホームポジションとか言ってる人は両手を常にキーボードに拘束された状態で使ってるんだろうけど >>726
ターミナルに籠もる人もいるから、前提なしにホームポジションがーマウスがーって言っても無意味 俺がターミナルにこもってるタイプなんだよ
だから同時押しするにも片手で簡単に推せて指に変なテンションがかからない丁度いい距離でしか設定してない ctrlって言ってもお前のctrlがどこにあるかなんて知らねえよ どっちかと言えばcapsとかをctrlにしてるとか言う方が両手前提の自分環境を押しつけて主張してる傾向が強いから
それは特殊だと指摘しただけだよ 僕は右Ctrlだけemacsキーバインド。
おすすめはしない。 両手常時使用の前提が苦痛って実際どれくらいいるんだ? insertではcontrol+hjklで上下左右に移動できるようにしてるな
結局normalに戻って移動したほうが早いこと多くてあんま使わんけど 位置がどうのと揉める辺りがどうも文字の変換方法の議論とどっこいな気が
全角カナにする時F7は遠いとか言うアレ
Ctrl+Iや無変換でやれと思うが無変換のキーマップ当然のように変わってるのもポイント高い vim の hjkl に慣れるとブラウザのテキストエリアの入力が苦手になる
つい癖で esc して hjkl してしまう エディタはvimのキーバインド
シェルはemacsのキーバインド
これで代替どんな環境も行ける( ・`д・´) vimに染まるとかねーわと思ってたら/で検索する癖ついてた
こうしてどんどん深みに 確かにモードがないと常にふにゃふにゃした感じで落ち着かない 別にマウスの縛りプレイしてる訳じゃないんだけど
モードはIMとは相性悪いんだし極限状態での使用を前提とされても どれだけ相性悪くてもマウス使うよりはキーボードで済ませた方が速い
縛りとかではなく単純に比較して速い方を使うのは当然 他のエディタが使えない環境なんじゃないだろうか。知らんけど 何と戦ってるのって、入力が速いことにはメリットしかないんだからそれを追求することを疑問に思うこと自体が間違っている Linuxとかでデフォルトで入ってたから
使ってます。使ってるうちに慣れてきたので他には戻れません。って人がほとんどだろ? vscodeとpycharmのvimプラグインで満足出来るようになってきた(´・ω・`) テキストオブジェクトがなかったらvimやってなかったな
100行のhogeを一瞬で作る方法ってのに感動して興味出たからな
vimの秘伝のたれには興味ないから必要最低限しか覚えてないがそれでも十分だわ ターミナルの住人にとっては唯一にして最強のエディタだから。
もうこの地位が揺らぐことは未来永劫ないだろうし。 こんなアウェーオブアウェーでemacsの話する奴なんかいないだろw windowsで使ってる人は、どのvim使ってる? 俺普通にデスクトップ使ってるし自分を端末の住人とは思わんが端末で操作が完結するのがやっぱでかいわ
$ leafpad foo.txt &みたいにやればGUIで開けるけどこれだと端末閉じたら巻き添え食うし
disownやexec bashやればその心配ないけどさ
組み込み端末があるテキストエディタ使え?うーん terminal こもる系は cygwin や gitbash の cui 版 vim かな hjkl主義者の人って、:を打った後のカーソル移動はどうしてるの?
結局カーソルキー?
邪悪なemacsキーバインド? コロン打ってからコマンド実行する前に移動したいこととかある? >>762
これ気になる
それとスラッシュ&クエスチョンによる検索でmigemo 使う方法がないか
実装に依存するんだよね?
ダメだなぁ 俺はhjklは便利なカーソルキーとして使ってるだけだからそれが使えなければカーソルキー
ホームポジション主義者ではないので vimって拡張正規表現をデフォルトにしたりperl版は使えないの?
もうエスケープの有無で迷いたくないんだが あるウインドウを閉じて、helpウインドウだけが残るときにvimが終了しないようにする方法ってある? Emacsから乗り換えようと思うんだけどvim8とneovimどっち使うのが良いの?やっぱりまずはより一般的なvim8の方が良いのかな Vim8.1 だな。やっぱBramが仕切っている方がバランスがいい。
neovimはBDFLじゃない事を推してるが逆にデメリットだろう。 今カーソルがあるのと同じ位置(列)の一行上の文字を入力コマンドがあったと思うんですけど何でしたっけ?? >>769
neovimはやめとけ
声の大きいやつらが推してるだけ >>772
挿入モードで CTRL-Y
一行下の文字は CTRL-E >>738
bash/zshの人は知らずにemacsキーバインドに馴染んでるのかも
そういえばシェルでモードってやるとしたらどうやるんだろう 馴染んでるのはCtrl+lぐらいだけどな
キルリングとかヤンク以上に不可解だし >>778
bashなら set -o vi してみ 一行じゃ有り難み無いけどな
さすがにターミナルはデフォ emacsってショートカット使うのに毎回アクセラレーターキー使ってるようなもんでしょ
Ctrl+Sで保存するのに毎回ALt+Fでファイル(F)呼ぶとか無理ポ えまくすはエディタを超えた何かになってるので最強エディタはvimですよね たまに打ち損じの履歴編集するけど履歴から除外する文字列って設定できないかな
bashだと先頭に空白入れると履歴されないし除外文字列指定出来るやん? >>786
試してないし 多分このままじゃ不具合があるだろうけど
autocmd CmdwinLeave * histdel(getcmdtype(), "<ここに設定>")
こういう感じでどうかな。 deopleteってvimだとauto_complete_delayを0にしても候補表示まで数秒かかるのは仕方ないの?
neovimなら一瞬で候補出るんだけど
拡張機能もその他設定も両者は同じなのに diff 表示の際に見やすいテーマを教えてください
好みもあるでしょうが molokai や railscast は diff 表示だと見にくいです
desert や darkblue は差分が分かりやすいです >>789
init.vimは.vimrcのコピペで、dein.tomlはvimとneovimで同じ物を参照してるんだけどvimでも速くできるなら教えて EXコマンドで普通のキーバインド(h,j,k,lとか)を使う方法ってありますか
具体的にはautocmdでファイルを開いた時にG,oの2つのコマンドを実行したいです aaa
bbb
ccc
と入力して、bbbの行を「yy」でヤンク。
cccの下の行で「p」を押すのですが、改行されて
aaa
bbb
ccc
bbb
になってしまいます。改行を入れない方法はないでしょうか? >>798
cccの下に空行を入れたくないなら、cccの行でpを押す 機能が文字の大小で対になってるとか覚えやすいんだか覚えにくいんだか
i/Iは同じでもc/Dやd/Dはてんで役割違うし
作業してから挿入のキーが中々覚えられんよ CとDはカーソルから後ろ、YとSは行になるだけで役割違うと言うほどでもない
役割違うキーはqjkzmくらいじゃないか Vimでコマンドラインモードの時のカーソルの形を弄る方法ってありますか
挿入モードとかのカーソル形状は↓
let &t_SI = "\<Esc>[5 q"
let &t_SR = "\<Esc>[4 q"
let &t_EI = "\<Esc>[2 q"
↑こんな風にして設定できたんですが,コマンドラインモードに移るときにt_SIと同じ形にしたいです。 どうでもいいけどVimって:Sexっていう命令あるんだな
% unzip && make loveみたいなジョークがBSDマニアの間で流行ってた時期があったけど
まさかこういう例にでくわすとは。
man coぶりだわw なんならfunny-manpagesでも入れてみたら? マークダウンを書くことが多く、トリプルバッククォートの開始と終了を行き来したいです
% で括弧を行き来するのと同じ感じで行き来する方法ありますか?
ちなみに [` や ]` は機能しませんでした Vimを終了したときにその編集画面を残す方法ってある?
lessで言う「--no-init」みたいに。 >>807
matchit で出来ました。ありがとうございます
開きと閉じが同じ文字列なので、パーサー泣かせですね
```c や ```sh 等を開きにして回避しました
あとは [%や ]% が意図通り動かないのですが、おいおい調べます
余談ですが、 %、 [、]、って、ドットで繰返し出来ないんですね >>809
おー!ありがとう。端末属性を虚偽るのか……全然知らない手だったわ。
そして今気が付いたがlessもTERM=linuxにすると画面を残してくれるな。
なんでTERM=xtermとかだと終了した後に消去しちゃうんだろう……。
大半の人間には編集画面を綺麗さっぱり消すほうが便利なのかなぁ。 復元する機能を持ってない端末だと復元しないとかじゃないのかな 反日国工作員
「国民が政治に無関心になれば日本の税金はワレワレのものだw、反日移民をどんどん送り込め」 実践Vim評判いいのになぜ絶版にするのか理解できない 紙の本は色々コスト高だから増刷しない判断は分からなくもない
ここのpdf版epub版はまだ売ってるのかな?
https://tatsu-zine.com/books/practical-vim >>811
確かにtopみたいに残せと思う時あるわ >>811,818
set t_ti= t_te=
set norestorescreen 復刊ドットコムでリクエストするとか?
今のところ2票入ってるね
しかし、目安として100表示入ったら交渉が始まるらしいから、険しい道だな
次版の邦訳が出るのを待つのが現実的かも
でも第2版は趣違うらしいから、これも微妙だな Modern Vimは著者が同じだけど別物だ
Kindle版で我慢するしかない Vimの正規表現で日本語を指定する方法ある?
pTeXの原稿で「\xxx日本語」みたいな文字列全体がTeXのコマンドとしてハイライトされるようにしたい。
syntax match texDefName contained
\ skipwhite skipnl
\ /\\<ここに日本語>\+/
\ nextgroup=texDefParms,texCmdBody
どうかご教示願います。 これじゃだめかしら>日本語
[^a-zA-Z0-9 -/:-@\[-~] これ↓でやってみたが無理っぽいな。俺の環境かもしれないが正規表現としては判定されるが
なぜかシンタックスハイライトされない……。
syntax match texDefName contained
\ skipwhite skipnl
\ /\\[[:alpha:]\u3041-\u3096\u30A1-\u30FA々〇〻\u3400-\u9FFF\uF900-\uFAFF]\+/
\ nextgroup=texDefParms,texCmdBody vimの削除って実態は切り取りだけどレジスタを使わずに削除できない?
貼り付け直前に文字を消すとレジスタが上書きされて不便なんだが
先に修正してからヤンクしろはなしで頼む 貼り付けるときにヤンクレジスタを使う
または削除する時にブラックホールレジスタを使う vim-easy-alignというプラグインをdein.vimを使って導入したのですが、
https://github.com/junegunn/vim-easy-align
には、
xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign)
とvimrcに設定することが推奨されています
けれど、dein.tomlのhook_addを使って、上のコマンドを設定する方法が分からなかったため、
xmap ga :EasyAlign<CR>
nmap ga :EasyAlign<CR>
としたところ、今の所問題なく動いています
2つのコマンドの間に違いはありますか?
Shougoさんのプラグインの書き方に慣れているせいか、<plug>というのが違和感ありありなんですけど... これで遅延ロードできてる
call dein#add('junegunn/vim-easy-align', {
\ 'normalized_name': 'EasyAlign',
\ 'on_map': '<Plug>',
\ })
後は適当なところでキーマップ
xmap ga <Plug>(EasyAlign)
nmap ga <Plug>(EasyAlign) >>831
無事遅延ロードできましたありがとうございます
これってdein_lasyの
hook_add = '''
nmap ga :EasyAlign<CR>
'''
と速度変わったりするんですかね? vimでノーマルモードから3行一度にヤングしたいときってどうキー押せばいい? Vimを開いた時に、自動的に少ししたから始める(5jとかする)方法を教えて下さい >>833
ネタかもしれんがマジレスすると
3yy
y3l でもいいが yy が楽だし、yy は vi の基本
同様に削除は dd
y は yank (ヤンク) 今年もお世話になります
現在地から下を全削除する時は9999ddみたいにしてるけど他に方法あるかな
後バッファを保存するショートカットって作れないかな
ZZしてもvimが維持すればCtrl+S代わりに使えるんだけど >>840
:,$d
現在行(. 省略可)から最終行($)までを削除(d) 色々あるんだな
>>843
現在行から上の削除は:,^dじゃないよね Vimのコメントを全て削除する方法はありますか?
アンコメントではなくてコメント自体を削除したいです >>844
それは「1行目から現在行」を指定する
:1,.d
または . を省略して
:1,d
詳しくは :help ranges
4. Exコマンドラインの範囲
https://vim-jp.org/vimdoc-ja/cmdline.html#cmdline-ranges >>846
ありがとね
カンマの扱いがブレース展開に似てるな どうしてpythonのprint関数や、input関数はデフォルトのsyntaxでハイライトされるのにrubyやc++のprintfなどはデフォルトでハイライトされないんですか >>849
同梱のftpluginでも作者が別々だったりする Windows10で、markdownをvimで書いて、プレビューとかしたいのだけど、
そのような、プラグインを入れるには、
NeoBundleとか、gitとか必要になるような、記事をみつけたのだが、
ハードル高い。
素のvimに、簡単に入れられる、markdownのプラグインとかないの? >>851
プレビューに他のツールが要らないのはprevimかな
https://github.com/previm/previm
vim 8以降なら特定のフォルダにプラグインフォルダを作れば読み込んでくれるので、
previmのreleasesページから落としたzipを解凍して、そのフォルダに放り込めばいい
http://tyru.hatenablog.com/entry/2017/12/20/035142 Vim使うよりMarkdownエディタ使ったほうが幸せになれそう
キーバインドがって話ならVim風にできるのもいろいろあるし vim8じゃなくても手動でvimfilesに全部ぶち込めばいいだけだろ 手動で暫くやってるとgitとかプラグイン管理用プラグインとか使って自動化した方が明らかに楽だと自然と気付くんだよな 851です。
C:\Users\UserName\.vim\pack\mypack\start
C:\Users\UserName\.vim\pack\mypack\opt
を作って、
previm-master.zip
open-browser.vim-master.zip
を、ダウンロードして、展開して、フォルダ名を
previm-master を previm、open-browser.vim-master を open-browser.vimにリネームして、
フォルダを、
C:\Users\UserName\.vim\pack\mypack\start
に複写した。
.vimrc に
set packpath=C:\UserName\.vim\pack\mypack\
とする。
vimを起動して、
OpenBrowserとかしてもて、
E429: エディタのコマンドではありません
となる。
:set で確かめると、packpathがruntimepathに追加されていない。
vim本体の
C:\soft\vim\vim81-kaoriya-win64\plugins
に、previmとopen-browser.vimを置くと、
open-browserは動くけど、previmはダメ。
仕方がないので、
VisualStudioCodeを入れてみたら、markdownがプレビューできた。(;・∀・) >>857
Windowsは .vim じゃなくて vimfiles だぞ windowsが悪いわけじゃないけど
windowsが当たり前って感覚だとそういう悲劇が起こる プラグイン管理はpathogenからNeoBundleに移ったな
pathogenはローカルだけだから導入はプラグイン一式を~/.vim/bundleへ放り込むだけ
全部読み込むから一部を無効にしたりできないけどプラグインが少ないならこれでも十分
NeoBundleは反映させるのにコマンドがいるけど更新が楽になるから重い腰上げて移った
プラグイン管理の設定自体が煩雑化するのは勘弁だな vim標準のプラグインマネージャってあんまり使われてないのかね こども・思春期メンタルクリニック勤務
風俗で働いていたのを隠している窃盗常習犯
浅野美穂子のご尊顔
フェイスブックアカウント
https://ja-jp.facebook.com/people/Mihoko-Asano/100004950612842
こども・思春期メンタルクリニック
03-5579-2795
〒162-0845
東京都新宿区市谷本村町3-22ナカバビル9A
http://www.kodomo-mental.com/clinic/staff >>861
vim自身に搭載されてるって周知されてないだけじゃね
知る人ぞ知る隠し機能じゃ意味ないもの
後は肝心の機能が半端だとか
vimの新機能調べるより外で拾った方が楽だしな 自分は vundle から使い始めて今は vim-plug 使ってるけど、不満がないから vim8 標準のプラグインマネージャーのドキュメント読んで利点があるかどうかと使い方調べて.. って時間かける気にならないわ Vim8の標準パッケージマネージャ、けっこう使いやすいけどね。
ただ別に解説するほどの目新しい機能がある訳じゃなし、情報としては少ないかもね。 どんなときに使うんだよ
gitからクローンしてきて(n)vimのプラグインフォルダにぶちこむだけだろ… >>866
ああ遅延ロードが出来るのか
テーマ、数言語のリンター&docや定義ジャンプ、ナードツリーと計10位入れてる程度じゃ変わらんし、俺みたいなライトユーザには関係ない世界だな 括弧の自動補完機能を使ってるんだが、例えば
double power(double a);
と入力したいとき、
double power
まで打ってから ( を入力すると
double power(I)
となる。ただし、Iはカーソルを表す。
次に double a を打つと
double power(double aI)
となるわけだが、これから括弧の外に出るときってどうしてる?
Esc 押して移動してまた挿入モードに戻ってるんだが、これダサい? >>870
俺が使ってる auto-pairs というプラグインは挿入モードのまま閉じ括弧を入力すれば外に出してくれる こういう時はカーソルキーでサッと解決
フルキーの恩恵を最大限活用しよう カーソルキーに指伸ばすより一旦ノーマルモードに抜けて移動させた方が速い inoremap <C-l> <Right>してるけど、エスケープしてAしちゃう ありがとうございます。
閉じ括弧が一文字であれば、自分で閉じる方が速いですね。
しかし LaTeX における ¥left( ¥right) のような長い括弧や、({}) のような入れ子構造の括弧だといつも迷います(迷うより早く Esc を押しますが)
挿入ノーマルモードに戻るか、挿入モードにおける C-f、C-b を前、後ろに割り当てるのが良いですかね。 おれはc-f, c-bを使う
このときundo履歴を分割しないように設定してる
LaTeXは知らん 括弧と言えば%で対応する括弧へ移動できるけど【】や『』も対象に出来ないかな
全角(){}<>「」に対応してるからさほど困らんが案外【】も使うんだよな
【foo bar】でも移動させたい >>878
'set matchpairs+=【:】' でいけたぞ
これだけでテキストオブジェクトにはならない模様('ci】'とかは無理) >>879
すまん
自分の.vimrcに思いっきりmatchpairs載ってた
そもそも全角括弧に対応ってんだからそりゃそうだ
設定のコピペだけじゃイカンな 普段使うコマンドくらいは自前でカンペ作った方がいいと思う
サイトのコピペでもmanのコピペでもいいからさ
そのためのブログなんだろうけどそんなやる気ないしな ついに首位陥落か
Vim三連覇なるか!? 激動の2018年人気NO.1テキストエディタを発表!
https://job-draft.jp/articles/323 多機能エディタで入力方法は「Vim風」にする、ってのが普通だと思っていたが、Vimそのものの使用率が凄い高いんだな
全世界版も見てみたいところ vim から他のエディタに移るって、どういう層なんだろう
自分はプラグイン沢山入れてるから、キーバインドが vim 風ってだけでは
他のエディタに移れない vimを多機能エディタ風にする人
多機能エディタをvim風にする人 vimは歴史が長いからほとんどの場面で一般的な多機能エディタそのものになれるが、多機能エディタ側はvimのごく一部を模倣するしかできていないのが現状
vsとかvscodeのエディタ部分に本物のvim嵌め込んで連携させられればかなりいいんだけど Vimを多機能化するってアプローチは本当に寒いと思うわ
拡張性で行ったらlispとかnode.jsに勝てるわけねぇし
>>889
それはあるかもな
現状spacemacs (というか evil?) が一番上手くVimをエミュレートできてるというのは皮肉な話だ さすがにVimからvscodeに乗り換えたわ。手軽だし見やすいし使いやすいでVimが勝てるところがないし てかIDEでvimキーバインド使うの最強じゃね?
intelijでvimプラグイン使ってるんだけど
本来のIDEのショートカットが使えなくて困る
解決方法教えてくまさい vimに慣れてきた辺りの全能感は異常
んで深淵に入り込んで後悔する 20年以上使ってるけどoで入ってESCで抜ける
その間はメモ帳と同じ程度の操作しかしないって感じだ
行の連結のためにJを覚えさえすれば極普通に使える そのESCもいちいち遠くのキー押すのアホくさと思ってたらCtrl+[で代用できるっていうね
こんなの普通気付かんわ 気付くも何も、ヘルプとか自分で調べない限り操作方法なんて分からないだろ Insを抜ける時はカーソル移動する時なので、hh,jj,kkに割り当ててる、ついでに保存も
合理的なはず
llだけはallなどの単語と被るのでlllにしてる 日本語が有効な状態でキー入力する方法ない?
そのまま挿入モードにしようとして失敗したことくらいお前らにもあるだろ
っdでddやれないもんかね シンタックスハイライトの走査を
文字を書き込んでいる最中には停止して
書き終わってノーマルモードに戻ったときに評価するようなこと
って可能ですかね。 お世話になります。
Vim の7.2(だったかな?)なんですが、長いソースコードを読み込むとシンタックスカラーが適用されないんです(泣)
再度適用するコマンド(だったかな?)を実行しても駄目です。
.vimrcのどっかになんかのサイズを大きくする(?)オプションあったような気がするんですけど、ご存知の方、教えくださいm(_ _)m >>905
Vim の version は8.1 でした。 >>907
一行が長いわけではなく1ファイルの行数が多かった、のですが、
synmaxcol=0 を試したところ上手くいきました。
ありがとうございます。 今後のために :helpgrep からの :copen を憶えとこうか お世話になります。
matchit.vim のことで。
<ul.*>:</ul>,<ol.*>:</ol> の組み合わせが上手く動作しないです。
<table.*>:</table> 等、他は問題ない(みたい)です。
何故か </ul> から <ul> への上方向には移動しますが、
<ul> から </ul> への順方向には移動しません。
お分かりの方、いませんか? >>911
すばらしい!
そのものズバリですね。
日本語サイトばかり調べていたので気が付きませんでした。
<ul> の場合は % で次の <li> に進むんですね。
g% なら </ul> に。
でも記事どおりに match_words を編集して、<ul> と </ul> を対応するようにしました。
ありがとうございましたm(__)m
ところで、なんでこんな情報まで知ってるんですか? >>912
知ってたわけじゃないけど、どういう仕組みになってるんだと思って matchit.vim ul ol をキーワードにして検索すると一番上に出てきたぞ
SOの例だと ol と li の質問だったけど、b:match_words にパーサーの定義があってこれを編集すればカスタマイズできると書いてあった 私自身はVimを使い続けたいと思っているのですが
vscodeよりVimのが適している状況があまり思いつかなくて悩んでいます。
今の私のVimの出番はリモート接続やコマンドラインで編集したいときと
貧弱マシン使うときくらいです。
活用方法があったら教えてください。 vimの何が好きか知らないけどcodeでいいならcodeのvimキーバインドでいいんじゃない それな
でもVSCの本来のショートカットが使えなくなる問題はあるよ jedi-vim 入れたら数文字入力するたびに
.vim\dein\.cache\_vimrc\.dein\pythonx\jedi\jedi\evaluate\compiled\subprocess\__main__.pyなるファイルが
別窓で開いて全く動作しないのですがどうすればよいのでしょうか。
Windows版KaoriyaVim、Python3.5、jediインストール済みです。 #include "myheader.h" // myheader.hにaiueoaiueoと書いてある。
aiu
この状態で<C-n>をタイプするとVimのもともとの機能でaiueoaiueoと候補が表示されてくれるのですが
Neocompleteを使うことで<C-n>とタイプしなくても自動で表示されて欲しいです。
clangをインストールして他にプラグインを追加すればできるような説明がよく検索に引っかかるのですが
clangなし、他のプラグインなしでNeocompleteの機能だけで自動表示させる方法はないでしょうか? #include <gtk/gtk.h>
int main()
{
gtk_widget_set{ここで<C-x><C-i>}
とするとすべてのファイルを探しに行ってしまって
帰ってこなくなってしまうのですがすばやく補完を表示する方法はないでしょうか? >>920
<C-W><C-F>でヘッダを開いてから<C-N><C-W>で補完してみては
かなり邪道な気もするが 他のブラウザなり何かでコピーしたものをヤンクのレジスタにいれられます? set clipboard&
set clipboard^=unnamedplus
クリップボードにヤンク文字列を入れるならこれ
vimが独自のクリップボードを持ってるからシステムとコピペできないとか実にふざけてる クリップボード関連はプラットフォームとかvimの種類とかで違うでしょ
まず環境晒さないと Ubntu18.4 pycharm Idea Vim pluginです >>920
921の方法はダメダメだった
そもそも <C-X><C-W> なんてコマンドはない
正しくは <C-N> で 'complete' オプションに w が入っていれば他ウィンドウからの単語が候補に入ることを利用したかった
しかしヘッダが他のヘッダをインクルードしているだけの場合はうまくいかない
で、代替案は :h ft-c-omni を見てもらいたい
ここではシステムの全てのヘッダの tags ファイルを作ってしまうという荒技が紹介されている
この方法では使うつもりのないライブラリの識別子までタグ補完の候補に入ってしまうので、使いたいライブラリのヘッダだけを ctags の対象にすればいいと思う
/usr/include 以下の全ヘッダから tags を作って試してみたが、 <C-X><C-I> よりかなり高速に補完できる :Fontzoom +1でGVimのフォントサイズを1増やせるプラグインを使用しているのですが
フォントサイズを変更するたびにウィンドウのサイズも変えたいです。
以下の設定では一瞬ウィンドウのサイズが変更されるのですが、すぐにもとに戻ってしまいます。
nnoremap <C-Up> :Fontzoom +1<CR>:set lines-=2<CR>:set columns-=2<CR>
どうすれば期待した結果を得られるのでしょうか。 >>926
回答ありがとうございます。
ヘッダ内のキーワードが自動で表示されてほしかったので
Neocompleteでどうにかできないか調べてみたのですが
Shougo/neoincludeというプラグインがあって、
これを入れるとソースコード保存時にチェックが走って
その後、自動でヘッダファイル内のキーワードが補完されるようになりました。 一行選択を<S-V>でできるようですが改行コードを含めずに一行選択する方法はないでしょうか? 改行を含まない行をテキストオブジェクトとしてLに当ててる。選択ならvilかval
xnoremap il g_o^o
xnoremap al g_o0o
onoremap <silent> il :<C-u>normal! ^vg_<CR>
onoremap <silent> al :<C-u>normal! 0vg_<CR> 今になってvim-surround入れたけど空白なしで囲むにはどうすりゃいい >>933
それは盲点だった
後括弧をまとめて消すにはどうすりゃいい
(foo)
(bar)
dsやろうにも範囲選択後にd押しても行自体が消えるよね >>934
surroundは正直言って繰り返し処理には弱い
あなたの挙げた例なら、行選択後に
:norm ds)
でOK
(foo)
(bar) (baz)
とか、
(foo)
bar (baz)
とかいうことになっているなら
:s/(\(.\{-}\))/\1/g
こういう状況をスマートに処理できる代替プラグインはないものか 訂正、 >>936 の正規表現は括弧が入れ子になってると一組しか削除しない
代替案は
:s/(\|)//g <p>太宰治</p>
の「太宰治」をVモードで選択して
「江戸川乱歩」を入力したら
<p>江戸川乱歩</p>になるようなショートカットキー
はないですか?
<p>太宰治</p>
↓
<p>江戸川乱歩</p>
置換の「R」キー後の入力も試したのですが
文字の長さが同じでないと上手く置換できないので
もしあれば教えてください。 >>938
太宰治のどこかにカーソルを置いて
cit江戸川乱歩 >>938
太宰治をすでに選択しているなら c でいい
しかしビジュアルモードに入る前に cit をぜひとも試してもらいたい
:h text-objects
:h it >939 >940
早い回答ありがとうございます。
cit試してみます。 c言語のソースファイルなどで以下のようなコメントの中にダブルクォートがあると
ダブルクォートで囲まれた部分のハイライトが優先されて配色されてしまいます。
// printf("hogehoge");
文字列部分もコメントの配色にする方法はないでしょうか? >>943
こっちでは普通に全部コメントの色になるぞ
Vim のバージョンと C シンタックスファイルのバージョンを確認してみてくれ
:e $VIMRUNTIME/syntax/c.vim
または C シンタックスを提供するプラグインを入れてないか確認 >>943
それと、 c_comment_strings という変数がなにかの拍子に定義されてないか確認
C言語ファイル内で:
:let c_comment_strings b:c_comment_strings
詳しくは :h ft-c-syntax 回答ありがとうございます。
:highlight cComment2String
とすると
cComment2String xxx links to cString
となっており
:highlight link cComment2String cComment
とすると治りました。
:version
VIM - Vi IMproved 8.1 (2018 May 17, compiled May 20 2018 12:39:51)
MS-Windows 64 ビット コンソール 版
以下を試しましたが効果がありませんでした。
・vim test.c --cleanで開く
・unlet c_comment_strings
・colorscheme default
c.vimのヘッダー部分は以下です。
1 " Vim syntax file
2 " Language: C
3 " Maintainer: Bram Moolenaar <Bram@vim.org>
4 " Last Change: 2017 Apr 30 >>946
こちらでも vim --clean a.c で開いたところコメント内の文字列が文字列としてハイライトされてしまった
こちらの Vim はバージョン 8.1-751
syntax/c.vim は 2018 Sep 21
:let c_comment_strings
で、値が #1 であったのを確認
どうやら defaults.vim がこの変数を定義してしまうらしい
あなたの vimrc で defaults.vim を source しているならこれを消すか、 source の後に unlet c_comment_strings を書いてみてくれ
unlet は syntax ファイルが読み込まれる前(例えば vimrc 内)にしないと効果ないよ >>947
vimrcでunlet c_comment_stringsしたら治りました!
highlight link ~より良い感じな気がするのでこちらを残そうと思います。
ありがとうございました。 gvimでalt+キーでラテン語が出たけどなんぞこれ
alt押しながらyamadaって打ったらùáíáäáになった
vimだとこうはならんが >>949
それAltキーじゃなくてAltGrキーじゃないの? Vimのファイルタイプ判定で
&runtimepathの各々の直下にあるdocディレクトリ以下に配置されているファイルをhelpファイルと見做す
という設定をしたいのですが
autocmd-patternsには変数として環境変数しか指定できないため困っています。
autocmdのファイルパターンにオプションの値を用いる良い方法はないでしょうか。 >>951
こいつを ~/.vim/ftdetect/help.vim に置いてみろ
function! s:IsInRTP(afile)
return index(map(split(&rtp, ','), 'resolve(v:val)'), resolve(a:afile)) != -1
endfunction
augroup ftdetectvimhelp
au!
au BufRead,BufNewFile */doc/* if s:IsInRTP(expand('<afile>:p:h:h')) |
\ setl ft=help |
\ endif
augroup END >>951
augroup MyFileTypeDetection
autocmd!
for s:docdir in split(globpath(&runtimepath, 'doc/'), '\n')
execute 'autocmd BufNewFile,BufRead' (s:docdir . '**/*.txt') 'setlocal filetype=help'
endfor
augroup end なるほど、*/doc/*を含むディレクトリ以下のファイルを全部判定に回すんですね。
ありがとうございます。 なんか知らない間にVimのdigriphsがめちゃくちゃ大量に定義されてるんだけど
これVim8くらいからかな。 githubで見る限り大量に追加されてるパッチは無い
10年以上前の話? mifes is most useful editor in the world. MSDOSのころに流行ったエデタァですよ。老人が使ってるのです なんか古臭いデザインのサイトが出てきたと思ったら
値段が15120円とかマジかー
こんなの買う人とかおるんだね しかも何が売りなのか見てみても肝心のソフトウェア紹介ページにあるのは
「テキストエディタとは」
「grep(グローバル検索)」
「diff(ファイル比較)」
「正規表現サンプル集」
はぁ?この時代にそこから語るの?
こんなんできないエディタの方が今の時代珍しいわww
レベルの素晴らしい売り文句
Wikipedia先生に至っては
「MS-DOSが主体の頃には高速かつ高性能なスクリーンエディタとして非常に多くの愛用者がいた[要出典]」
「要出典」
じいさま、じいさまや、せめて宣伝する前にwikipediaくらいは書きかえておきましょうや・・・
あとこれ売れないと思います VimってAmigaで作られ始めたんだから世代的には大して変わらない筈なんだけどね
やはりオープンソースの力は偉大 HTML構造のツリー表示がvimにはなさそう
CSVとXMLはプラグインでなんとかなりそう vim以外のテキストエディタでも/で検索したりuでアンドゥする体になったんだけど誰か責任取って 一般的っちゃ一般的よ
シェルにおけるEmacs風バインディングみたいなもん
もはやスタンダード メジャーなIDEとエディタにはvimのエミュレーションがあるからな
仮にvimは滅んでも、vimキーバインドは生き残る(´・ω・`) ろくな出来なのが無いけどね
VSCodeのはまだ我慢できる 一方でシェルをviバインドにしたら使いにくくなる不思議
emacs操作と言ってもC-lしか使ってないけど
矢印キーで履歴を絞り込めるようにしたからC-rの出番もないっていう
後一応firefoxは/で簡易検索できるから・・・ >>971
Emacs(spacemacs)の完成度の高さは注目に値する mifesってむかしは5万円ぐらいしたんじゃなかったっけ なんでこの爺さん突然mifesがどうとか言い出したんだ?
ボケが悪化した? エディタ一般の話題を扱うスレッドではないし、ましてUNIX板。
過去のDOS専用のエディタなんて興味もない。
やめてくれないかな >>965
ルーツがblenderと同じとはamiga偉大だな なんで急にmifesに発狂してんの?
まるでmifesのせいで日本でviが普及しなかったみたいな反応・・・
犬厨が窓叩きしてるみたいな・・・ >>968
あなた残した 悪い癖
検索 スラッシュ を打つ癖
uで 戻そと しちゃう癖
しちゃ〜う癖〜 vimを嫌いになっても、vimキーバインドは嫌いにならないで下さい(´・ω・`) android、iPhoneの世界的普及でLinux、BSDカーネルも一人に一台レベルで普及したが、
そのユーザーにはviキーバインドは普及しなかったな。
キーボードなしがウイルスの特効薬だった。 そら家中の家電集めてもや〜いお前ん家Linuxだらけ〜って言っても意味ないからな
ゲーム機器がBSDだとか言われてもで?って話で 過去にUNIXが普及しなかった原因はやはりviキーバインドだったと証明されたようだ。 銭ゲバが裁判で自滅する間に横から油揚げをさらわれた構図 Vim初学者ですが、実践Vimという絶版の書籍が欲しくて泣いてます(;_;) 結構いい本だから中古で回る少ないと思う
電子版やむなしか?
視認性の為に中古ショップ漁るのも手だが上記の理由で無駄足になる覚悟がいる :help をはじめとした電子情報は
vimほどの膨大な分量を読むのなら辛い
紙のほうが目にも優しい 本当だろうか。読書家はみな目が悪い。紙は目に悪いのではないか。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 272日 6時間 29分 11秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。