Vim Part23
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2014/02/26(水) 09:53:39.61http://www.vim.org/
前スレ
Vim Part22
http://toro.2ch.net/test/read.cgi/unix/1365071542/
関連情報は>>2-6あたり
0637名無しさん@お腹いっぱい。
2014/08/08(金) 14:23:28.61CTRL-@ 直前に挿入されたテキストをもう一度挿入し、挿入を終了する。{Vi:
最初に入力された時だけ、かつ最大128文字まで}
定義済みだからnoreで上書きしないとダメかもね
0638名無しさん@お腹いっぱい。
2014/08/08(金) 16:26:55.19vimと違うレイヤーでC-@をescapeに当てたりしてたので、ややこしくなってましたが
よくよく確かめた結果、確かに<C-@> <ESC>で効いてる場合もありました
例えばLinuxに直接入ってるときやOSXのターミナル経由でvimを開いてるときなんかは大丈夫のようです
ただ、win8+teraterm経由で入ってると、どうも<C-@>が効かないみたい
<C-a>とか他のは大丈夫なのですが<C-@>だけ効かない、、、
どうもvimの問題じゃなくて、winマシンのハードの問題みたいですね
すいませんでした
#初めて来たUNIX板が意外にアクティブでびっくりした
0639名無しさん@お腹いっぱい。
2014/08/08(金) 16:37:57.27noremapでもダメみたいです
ありがとうございます
0640名無しさん@お腹いっぱい。
2014/08/08(金) 16:53:53.10Windowsのteratermとかいうものに関しての知識がからっきしなので
あまりサポートできないが、
その端末がC-@を認識できないというオチはないだろうか?
viが基本的に端末上で動作してきた歴史上、F1等とCtrlの組み合わせをマップできない歴史と
似たものがあるかもしれないという電波が届いた
0641名無しさん@お腹いっぱい。
2014/08/08(金) 17:46:40.65動作するね
debian
0642名無しさん@お腹いっぱい。
2014/08/08(金) 17:54:12.26:inoremap <C-@> 123<CR>
同じく動作する
0643名無しさん@お腹いっぱい。
2014/08/09(土) 14:27:38.77i_<C-@> といえば、日本語キーボードを OS で USキーボードとして使ってる時に
余ったキーが押された時に Null を出すんだけど、<Nul> って <C-@> だから
直前の挿入が繰り返されて ???????? ってなったことがある。気付くのにかなりかかった
0644教えて リンク・ジャンプ
2014/08/10(日) 12:51:15.43おけば、C-c C-o 操作で名前で指定されたファイルを開き、アンカーで指定された文字
列を検索して その行まで飛んでくれます。
[[file:fileName ::anchorString]
Vim では似た操作として norma mode では gf/gF 操作があります。下のように書くこと
でファイルと飛び先の行までを飛ばせます。
fileName 156
でも gF では anchor 文字列を指定できません。下のように書いても単純にファイルを
開くだけでアンカーに飛んでくれません。
fileName -c /anchorString
何とか Emacs org mode でのようにアンカーまで飛ぶ方法が Vim にもないでしょうか。
ただし ctag を使うのは無しです。飛び先のファイルが様々すぎるからです。
0645名無しさん@お腹いっぱい。
2014/08/10(日) 13:56:10.06gf ではできなさそうやけど、:edit なら +/{pat} で最初に見つかった{pat}まで飛んでくれるけどそれじゃあかんか
0646名無しさん@お腹いっぱい。
2014/08/10(日) 14:46:09.68matchlist って関数増えてたんだ
以下を .vimrc/_vimrc に入れて
file:fileName ::anchorString がある行で
gf すれば、fileName を開いて、anchorString のある場所に飛べる
正規表現が気に入らなければ、書き直してください
nmap gf :call <sid>go_anchor()<cr>
function! s:go_anchor()
let sline=getline('.')
let re='file:\(\f\+\)\s\+::\(\w\+\)'
if sline =~ re
let md=matchlist(sline, re)
exec 'edit +/' . md[2] . ' ' . md[1]
else
normal! gf
endif
endfunction
0647名無しさん@お腹いっぱい。
2014/08/10(日) 14:59:23.44path, line, colの他にsearchとかがあると簡単になりそうな気もする。
0648教えて リンク・ジャンプ
2014/08/10(日) 15:02:58.46>:edit なら +/{pat} で最初に見つかった{pat}まで飛んでくれるけど
私の Kaoriya Vim 7.3 および 7.4 32bit on Win7 では、下のコマンドを実行しても
d:\link ファイルを新規に開いてくれてしまいます。
:edit D:\my\sf2\emacs\memoV.txt /link
たぶん Windows 用にコンパイルしてあるため / をディレクトリ記号に解釈しているのだと思います。
0649教えて リンク・ジャンプ
2014/08/10(日) 15:06:28.40:edit D:\my\sf2\emacs\memoV.txt +/link
0650名無しさん@お腹いっぱい。
2014/08/10(日) 15:07:40.30じゃないの。今手元にWindows無いから確認できないけど。
0651名無しさん@お腹いっぱい。
2014/08/10(日) 15:17:39.32Windows使ってるならそうと書いておいたほうが良いと思うぜよ。
ファイルパス系は、shellslashやisfnameの考慮も必要になる場合があるし。
0652名無しさん@お腹いっぱい。
2014/08/10(日) 15:21:41.30+/link にせんといかん
0653教えて リンク・ジャンプ
2014/08/10(日) 15:45:46.54ご指摘のとおりでした。これで "link" の文字列サーチも行ってくれました。下もサー
チまで動きました。後は >>646 さんのコードを少し手直しすればよさそうです。
:tabe +/fullwid D:\my\sf2\emacs\memoV.txt
ありがとうございました。
その他のご指摘くれた皆様にも感謝します。
0654名無しさん@お腹いっぱい。
2014/08/18(月) 18:26:34.04GVim の起動が速くなったのでワロタ
0655名無しさん@お腹いっぱい。
2014/08/18(月) 18:33:24.260656名無しさん@お腹いっぱい。
2014/08/18(月) 20:09:01.36メインメモリの空きが増えると若干影響するかもな。
0657名無しさん@お腹いっぱい。
2014/08/18(月) 22:49:36.580658名無しさん@お腹いっぱい。
2014/08/18(月) 22:51:19.600659名無しさん@お腹いっぱい。
2014/08/18(月) 22:58:53.420660名無しさん@お腹いっぱい。
2014/08/19(火) 03:42:24.13下みたいなコードを全文インデントすると、コメント内の閉じてない括弧のせいで
インデントがずれるんで困ってます。
int main(){
for(int i=0; i<5; ++i){
//if( hoge == 0 ){
printf("hello world");
}
return 0;
}
0661名無しさん@お腹いっぱい。
2014/08/19(火) 04:01:56.28↓これでどうかな?
int main(){
for(int i=0; i<5; ++i)
//if( hoge == 0 )
{
printf("hello world");
}
return 0;
}
やっぱダメ?w
0662名無しさん@お腹いっぱい。
2014/08/20(水) 12:10:09.34意図した挙動というよりは indent/c.vim のバグのようにも見える
あんまりあのへんの雰囲気知らないけど vim-jp で報告とかどうだろうか
0663名無しさん@お腹いっぱい。
2014/08/22(金) 22:15:09.34これから学ぼうと思っているので自分で書くのは不可能と判断しました
0664名無しさん@お腹いっぱい。
2014/08/22(金) 22:19:31.350665名無しさん@お腹いっぱい。
2014/08/23(土) 09:40:20.34実用言語じゃないのであえて作ろうという人がいなそう
他のアセンブラのsyntaxファイルはいくつかあるみたいなのでそれである程度代用できんかね
使えるやつがあればそれを改造するなど
0666名無しさん@お腹いっぱい。
2014/08/27(水) 15:52:58.79使ってみたら、重たかったとかカラースキームファイルの手入れが面倒だったとか感想はあるだろうか?
https://gist.github.com/othree/6087586
https://groups.google.com/forum/#!topic/vim_use/OixiqMYqcns
You can search vim-dev for my patch that adds true color support (named 24-bit-xterm, xterm-truecolor or such).
But this means you need to compile vim yourself.
You can use https://bitbucket.org/ZyX_I/vim to get branch with this patch (it is mercurial bookmark though,
not mercurial branch), use local-default bookmark to get the same version I am using (it includes xterm-truecolor and a number of other patches).
0667名無しさん@お腹いっぱい。
2014/09/01(月) 20:12:39.03外部のフォーマッタに任せた方が早い。
それこそCならindent(1)が鉄板じゃないの?
.vimrcに↓突っ込んで
au FileType c setl ep=indent\ -kr\ -i8
gg=G
0668名無しさん@お腹いっぱい。
2014/09/05(金) 13:33:08.38vimのほうがターミナルから出なくて便利じゃん
0669名無しさん@お腹いっぱい。
2014/09/05(金) 13:45:04.06colorschemeの描写がより見やすい配色を選択でき、
表現が広いことだろうか
0670名無しさん@お腹いっぱい。
2014/09/05(金) 17:21:07.17むしろ、ターミナルに戻らない。
だったら、vimでなくてgvimでいいでしょ。
0671名無しさん@お腹いっぱい。
2014/09/05(金) 17:22:22.640672名無しさん@お腹いっぱい。
2014/09/05(金) 22:00:57.370673名無しさん@お腹いっぱい。
2014/09/05(金) 22:05:58.36ターミナルで実行
これが一番やりやすい
ワイドスクリーンが普及して、窓を二つ並べておいても
窮屈じゃない時代になったしな
0674名無しさん@お腹いっぱい。
2014/09/05(金) 22:34:53.25terminal の複数 tab で片方 vim, もうひとつ shell が個人的には一番便利
tex 書くときはなんとなく gvim 使うけど
0675名無しさん@お腹いっぱい。
2014/09/05(金) 22:45:16.34vimshellは必要性感じない
0676名無しさん@お腹いっぱい。
2014/09/05(金) 23:48:39.84pythonとかGoとかCとかキーを割り当てて実行してる
0677名無しさん@お腹いっぱい。
2014/09/06(土) 02:05:53.08俺もtmuxやわ
tmux使ってないときはgvimだった
0678名無しさん@お腹いっぱい。
2014/09/06(土) 03:03:31.650679名無しさん@お腹いっぱい。
2014/09/06(土) 11:42:28.80依存の少なさは本当にありがたい。
0680名無しさん@お腹いっぱい。
2014/09/06(土) 22:38:54.79screenのが使いやすい
0681名無しさん@お腹いっぱい。
2014/09/07(日) 04:26:50.200682名無しさん@お腹いっぱい。
2014/09/07(日) 13:05:35.73あと色の種類も少ないから好みの配色にできない。
まぁ後者は我慢できるとして前者が致命的。
アホっぽい全角文字を大量に打ち込むクソみたいな受託案件ばっかしてる低層プログラマは辛いです。
0683名無しさん@お腹いっぱい。
2014/09/07(日) 13:32:24.150684名無しさん@お腹いっぱい。
2014/09/07(日) 13:44:03.64使うこと無いから気にしたことがない
0685名無しさん@お腹いっぱい。
2014/09/07(日) 14:04:53.80使う人いるよね
0686名無しさん@Vim%Chalice
2014/09/07(日) 14:23:30.820687名無しさん@お腹いっぱい。
2014/09/07(日) 14:53:17.18端末や、シェル、screen/tmuxなんかもそれぞれ対処しないといけなかったりするから厄介よな。
一応、Linuxサーバ上のtmux-1.9a(パッチ当て)+vimを、WindowsからRLogin/TeraTermでssh接続
して使う分には、目立ったところでは解消してる。
gnome-terminalは、VTE_CJK_WIDTH=1を設定する方法でいけるんだっけ?
0688682
2014/09/07(日) 15:47:33.37情報ありがとうございます!
ambiwidth=doubleは設定してたけど、シェル側も対応しないといけないのか。
Macのデフォルトのシェルでそのまま□とか打っても問題ないのにvimを通すと駄目になるんだよね。
vimだけの問題だと思ってた。色々試してみよう
>>684
□とか使うのは、単純にお客の要望だよ。
WEB系の受託で、この文章入れといて、みたいなオーダーがきて
■とか☆とか※とかたくさん使う。
0689682
2014/09/07(日) 15:56:51.70ターミナルの環境設定で「Unicode東アジアA(曖昧)の文字幅をW(広)にする」にチェック入れたら解決した!
長年の悩みがこんなにあっさりw逆にターミナルで□打つと挙動おかしくなったけどw
まぁターミナルで曖昧幅文字打つことないし問題なし。
>>687さんマジでありがとうございます
0690名無しさん@お腹いっぱい。
2014/09/07(日) 19:23:19.27目立つからPCでメモ取る時にTODO管理するまでもないタスクに付けて、終わったら消す
われながら原始的だけどこれが一番しっくりくるんだよなあ
0691名無しさん@お腹いっぱい。
2014/09/07(日) 21:37:51.410692名無しさん@お腹いっぱい。
2014/09/08(月) 11:23:03.660693名無しさん@お腹いっぱい。
2014/09/08(月) 11:54:04.80>>692
xfce4-もmate-もVTEベースだからVTE_CJK_WIDTHを設定すればおk
0694名無しさん@お腹いっぱい。
2014/09/08(月) 12:54:21.78よくそんな文字もまともに表示されないような環境で使ってるな
見えだけだろ?Vim使ってるとか
0695名無しさん@お腹いっぱい。
2014/09/08(月) 13:13:27.40おお、そうなんだ
ありがとう
0696694
2014/09/08(月) 19:10:55.900697名無しさん@お腹いっぱい。
2014/09/08(月) 22:53:05.40今のところそこまで不自由はしないからまあいいかって感じですね
0698名無しさん@お腹いっぱい。
2014/09/08(月) 22:54:09.560699名無しさん@お腹いっぱい。
2014/09/09(火) 17:08:05.36imeの設定を変えずにimeに戻る方法ありませんか?
0700名無しさん@お腹いっぱい。
2014/09/09(火) 17:08:32.10linux
imeの設定を変えずにコマンドモードの時にimeをオフにする方法ありませんか?
0701名無しさん@お腹いっぱい。
2014/09/09(火) 18:30:21.49linux
imeの設定を変えずにimeに戻る方法ありませんか?
0702名無しさん@お腹いっぱい。
2014/09/09(火) 19:29:15.33どんなことがしたい?
0703名無しさん@お腹いっぱい。
2014/09/09(火) 19:36:20.630704名無しさん@お腹いっぱい。
2014/09/09(火) 19:37:15.97そのときimeがonのままなのでiを押してもインサートモードに鳴らないんですよ
なのでインサートモードからコマンドモードに移った時にimeをoffにしたいのです先輩
0705名無しさん@お腹いっぱい。
2014/09/09(火) 19:39:01.82Google IME使ってる場合も解決法があるんですが
僕の環境はLinuxでibus*mozみたいな名前のimeなんですよ
0706名無しさん@お腹いっぱい。
2014/09/09(火) 20:08:13.83設定画面の中にあって楽だな
0707名無しさん@お腹いっぱい。
2014/09/09(火) 20:16:32.700708名無しさん@お腹いっぱい。
2014/09/09(火) 20:37:02.06あとヘルプくらい全部読もうな
ttp://vim-jp.org/vimdoc-ja/options.html#'iminsert'
最近のibusは色々酷いらしいからこれで動くは知らない
0709名無しさん@お腹いっぱい。
2014/09/09(火) 22:02:26.03UbuntuでVim7.4です
:set iminsertは2になってましたが効きません
ibusは使うなuimを使えってことですか
0710名無しさん@お腹いっぱい。
2014/09/09(火) 22:24:19.13ibus 1.5系は無理。uimかFcitx使うしかない
FcitxでVimからIM制御する ― KaoriYa
http://www.kaoriya.net/blog/2014/07/20/
0711名無しさん@お腹いっぱい。
2014/09/09(火) 22:35:42.410712名無しさん@お腹いっぱい。
2014/09/10(水) 22:07:33.47どうしてですか?どうやればvimから実行できますか?
0713名無しさん@お腹いっぱい。
2014/09/10(水) 23:06:20.82:!ls したときに shell=/bin/bash だと、non-interactiveモードで動作するので、$HOME/.bash_profileは読まれないからそうなる
というようなことが、:h ! に書いてある
On Unix the command normally runs in a non-interactive
shell. If you want an interactive shell to be used
(to use aliases) set 'shellcmdflag' to "-ic".
:se shell=/bin/bash\ -ic ならエイリアスは認識してくれるけどコマンド実行後に
[1]+ Stopped vim
になってしまう
なにかオプションで回避できるかもしれんけどそこまでは調べてない
0714名無しさん@お腹いっぱい。
2014/09/10(水) 23:17:33.07よくやった!!!
これで出向先でメモ帳ICOであやしまれず(話しかけられず
作業できる。
みんなVIEWして注目度をアップさせよう。
0715名無しさん@お腹いっぱい。
2014/09/10(水) 23:29:02.520716名無しさん@お腹いっぱい。
2014/09/10(水) 23:58:38.47素直に諦めます
0717名無しさん@お腹いっぱい。
2014/09/11(木) 00:50:57.39思い切ってエイリアスやめてabcってコマンドでっち上げて
パス通しておけばいいんじゃね?
イヤか?w
0718名無しさん@お腹いっぱい。
2014/09/11(木) 13:15:28.71そういうプラグインもないですかね?
0719名無しさん@お腹いっぱい。
2014/09/11(木) 13:16:50.810720名無しさん@お腹いっぱい。
2014/09/11(木) 13:30:19.43eshellほど頼りにはならないが、vimshellかconque とかいう仮想端末を使うのでどうだろうか
vimshellのほうは設定ファイル(.vimshrc)にエイリアスを移植する
(vimスクリプト式の表記でエイリアスを書く。sedで大体一気にいける)
0721名無しさん@お腹いっぱい。
2014/09/11(木) 13:31:51.34.bash_profileを読み込んでエイリアスと同じ名前のVimコマンドを作ることならできる。先頭大文字になるけど
そもそもなんで:!にこだわるのかがよくわからんけどな
0722名無しさん@お腹いっぱい。
2014/09/11(木) 14:04:31.18vimshellを使うことにします
0723名無しさん@お腹いっぱい。
2014/09/11(木) 14:25:33.90つうことはgvimかな
vimshellのタブ/ウィンドウ/バッファに切り替えるのとターミナルに切り替えるコストどちらが低いかと考えると、
ターミナルならALT+`とかで素早く切り替えられるし*本物の*シェルが使える
:shかCTRL-Zしてもええけど
まあ自分がやりやすい方法が一番ええとは思うんでアレですな
0724名無しさん@お腹いっぱい。
2014/09/11(木) 19:43:55.880725名無しさん@お腹いっぱい。
2014/09/11(木) 19:56:53.81必要なときにtmuxウィンドウ分割か新しいの作ってる
0726名無しさん@お腹いっぱい。
2014/09/11(木) 20:01:56.920727名無しさん@お腹いっぱい。
2014/09/11(木) 20:19:40.970728名無しさん@お腹いっぱい。
2014/09/11(木) 20:31:41.270729名無しさん@お腹いっぱい。
2014/09/11(木) 21:17:06.220730名無しさん@お腹いっぱい。
2014/09/12(金) 01:23:36.48おれは話かけられやすい体質なんだよ。
みんなサクラエディタ以外つかってないんだよ。
村八分になっちゃうだろうが。ないよりあるほうが100倍メリットがある
0731名無しさん@お腹いっぱい。
2014/09/12(金) 01:25:27.16200いけばブラム動く!
0732名無しさん@お腹いっぱい。
2014/09/12(金) 04:23:38.59> The icon should be placed on ~/vimfiles/bitmapts/vim.ico.
bitmaps の間違いだね
0733名無しさん@お腹いっぱい。
2014/09/12(金) 08:37:37.360734名無しさん@お腹いっぱい。
2014/09/12(金) 22:11:57.54インタラクティブシェルとして実行されてないから。
aliasをfunctionで書き直せばいい。
0735名無しさん@お腹いっぱい。
2014/09/12(金) 23:27:35.68screenもtmuxも長年使ってきたけど
結局シェル+gvimに落ち着いた
各々の表現力は他の方法でいくら小細工しても叶わないわ
シェルとgvimの切り替えコストを上手く減らす努力するだけの方が楽
0736735
2014/09/12(金) 23:30:47.12tmuxでもいいんだけど色んなサーバーいじってるとscreenで統一した方が色々と楽
まぁ若者なら思考を張り巡らせてvim内で完結させたりする方がスマートと感じるのかな
■ このスレッドは過去ログ倉庫に格納されています