vimメモ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
基本的なことは
&link(こちら,http://www.str.ce.akita-u.ac.jp/~gotou/linux/vine.html#vi)参照。
*viで編集しながらコンパイルなどをする [#fb30b59f]
-:!コマンドでunixコマンドが使えるので
-コンパイルしたいときは
- :!gfortran -o hoge hoge.f90とか
-latexの編集は
-pxdvi hoge&でひらいておいて
-vi hogeで編集画面にいって
-:!platex hoge.tex とかするとやりながらコンパイルできる。
*複数行に同じ文字列を挿入 [#pbf038b6]
-ヴィジュアルモードで挿入したい箇所を箱選択しておき
-shft+i で挿入モード
-挿入する文字列を入力
-ESCを押すと選択箇所に同じ文字列が挿入される。
*マクロの使用例 [#x12d239a]
例えば、時刻データとその時刻の変位データ数行とが、
交互に並んでいるデータファイルから、
時刻だけの行を抜き出したい場合などは、vimのマクロが有用である。
例えば、ccxの動的解析の出力ファイルなど、
以下のように並んでいるデータファイルから、
displacements と書かれた行だけを他のファイルに抜き出して
保存したいとしよう。
--(
displacements (vx,vy,vz) for set N1 and time 0.1000E-01
12663 3.0118E-06 -3.4520E-17 1.0695E-08
12664 3.0118E-06 3.4680E-17 -1.0695E-08
displacements (vx,vy,vz) for set N1 and time 0.2000E-01
12663 6.0106E-06 -6.8904E-17 2.1343E-08
12664 6.0106E-06 6.9224E-17 -2.1343E-08
displacements (vx,vy,vz) for set N1 and time 0.3000E-01
12663 8.9875E-06 -1.0302E-16 3.1914E-08
12664 8.9875E-06 1.0349E-16 -3.1914E-08
displacements (vx,vy,vz) for set N1 and time 0.4000E-01
12663 1.1927E-05 -1.3672E-16 4.2351E-08
12664 1.1927E-05 1.3735E-16 -4.2351E-08
--)
こういう作業をするときは、元ファイルを壊してしまうと困るので、
作業用ファイルにコピーしてから作業するのが安全。
という訳で、上記のファイルをsagyou.datにコピーしたとしよう。
-viでsagyou.datを開き、
--(
:sp disp.dat
--)
-などとして、displacementsの行を抜き出すファイルをもう一つ開いておく。
ファイル間の移動はCntl+wの後にjkキーで。
-sagyou.datの方にカーソルを持ってきて、qaと打つと下に「記録中」と書かれて
「a」というキーにキーボードマクロの記録が始まる。
-ggで先頭に移動し、
-/disp でdisplacementsの行を検索
-ddでその行を切り取り
-Cntl+wの後にjまたはkでdisp.datに移動し、pでコピー行を貼り付け
-Cntl+wの後にjまたはkでsagyou.datに戻る
-ここでqを押してマクロの記録を終了
-ggでsagyou.datの先頭に行き、sagyou.datの行数が500行なら、500@a と打つ。
-そうすると、sagyou.datの500行に対して上記と同じ操作を行なってくれるので、
見るまに、displacementsの行がdisp.datの方にコピーされていく。
後は適宜、保存するなりすればよい。
節点12663の行だけをファイルにコピーしたければ、同様に操作すればよい。
複数のマクロを定義したければ、qa, qb, qc, みたいにいくらでも定義できる。
-参考:http://www.atmarkit.co.jp/flinux/rensai/vim07/07a.html
**特定の文字列がある行を抜き出したい [#zd3c314a]
例えば、aaaというファイルのdisplacementsと書いてある行だけを抜き出したいんだったら、
わざわざ、上のようなviのマクロ機能を使わなくたって、
--(
cat aaa | grep displacements >bbb
--)
*エラー [#wdf4b117]
**E575: viminfo: [#w03c0170]
viを起動するたびに「E575: viminfo:」と出てくる。エンターを押せばそのまま続行できるが、\home\kiso\.viminfoを消せばエラーメッセージが消える。
消したあとも今のところ不具合なし。
終了行:
基本的なことは
&link(こちら,http://www.str.ce.akita-u.ac.jp/~gotou/linux/vine.html#vi)参照。
*viで編集しながらコンパイルなどをする [#fb30b59f]
-:!コマンドでunixコマンドが使えるので
-コンパイルしたいときは
- :!gfortran -o hoge hoge.f90とか
-latexの編集は
-pxdvi hoge&でひらいておいて
-vi hogeで編集画面にいって
-:!platex hoge.tex とかするとやりながらコンパイルできる。
*複数行に同じ文字列を挿入 [#pbf038b6]
-ヴィジュアルモードで挿入したい箇所を箱選択しておき
-shft+i で挿入モード
-挿入する文字列を入力
-ESCを押すと選択箇所に同じ文字列が挿入される。
*マクロの使用例 [#x12d239a]
例えば、時刻データとその時刻の変位データ数行とが、
交互に並んでいるデータファイルから、
時刻だけの行を抜き出したい場合などは、vimのマクロが有用である。
例えば、ccxの動的解析の出力ファイルなど、
以下のように並んでいるデータファイルから、
displacements と書かれた行だけを他のファイルに抜き出して
保存したいとしよう。
--(
displacements (vx,vy,vz) for set N1 and time 0.1000E-01
12663 3.0118E-06 -3.4520E-17 1.0695E-08
12664 3.0118E-06 3.4680E-17 -1.0695E-08
displacements (vx,vy,vz) for set N1 and time 0.2000E-01
12663 6.0106E-06 -6.8904E-17 2.1343E-08
12664 6.0106E-06 6.9224E-17 -2.1343E-08
displacements (vx,vy,vz) for set N1 and time 0.3000E-01
12663 8.9875E-06 -1.0302E-16 3.1914E-08
12664 8.9875E-06 1.0349E-16 -3.1914E-08
displacements (vx,vy,vz) for set N1 and time 0.4000E-01
12663 1.1927E-05 -1.3672E-16 4.2351E-08
12664 1.1927E-05 1.3735E-16 -4.2351E-08
--)
こういう作業をするときは、元ファイルを壊してしまうと困るので、
作業用ファイルにコピーしてから作業するのが安全。
という訳で、上記のファイルをsagyou.datにコピーしたとしよう。
-viでsagyou.datを開き、
--(
:sp disp.dat
--)
-などとして、displacementsの行を抜き出すファイルをもう一つ開いておく。
ファイル間の移動はCntl+wの後にjkキーで。
-sagyou.datの方にカーソルを持ってきて、qaと打つと下に「記録中」と書かれて
「a」というキーにキーボードマクロの記録が始まる。
-ggで先頭に移動し、
-/disp でdisplacementsの行を検索
-ddでその行を切り取り
-Cntl+wの後にjまたはkでdisp.datに移動し、pでコピー行を貼り付け
-Cntl+wの後にjまたはkでsagyou.datに戻る
-ここでqを押してマクロの記録を終了
-ggでsagyou.datの先頭に行き、sagyou.datの行数が500行なら、500@a と打つ。
-そうすると、sagyou.datの500行に対して上記と同じ操作を行なってくれるので、
見るまに、displacementsの行がdisp.datの方にコピーされていく。
後は適宜、保存するなりすればよい。
節点12663の行だけをファイルにコピーしたければ、同様に操作すればよい。
複数のマクロを定義したければ、qa, qb, qc, みたいにいくらでも定義できる。
-参考:http://www.atmarkit.co.jp/flinux/rensai/vim07/07a.html
**特定の文字列がある行を抜き出したい [#zd3c314a]
例えば、aaaというファイルのdisplacementsと書いてある行だけを抜き出したいんだったら、
わざわざ、上のようなviのマクロ機能を使わなくたって、
--(
cat aaa | grep displacements >bbb
--)
*エラー [#wdf4b117]
**E575: viminfo: [#w03c0170]
viを起動するたびに「E575: viminfo:」と出てくる。エンターを押せばそのまま続行できるが、\home\kiso\.viminfoを消せばエラーメッセージが消える。
消したあとも今のところ不具合なし。
ページ名: