• 온라인 도구
  • - 계산기
    • 문자 수
  • - 다운로드
    • TikTok 다운로드
    • DouYin 다운로드
  • - 웹 도구
    • BASE64
    • Base64→이미지
    • 이미지→Base64
    • URL 인코딩
    • JavaScript
    • 타임스탬프
    • 유니코드 변환기
    • JSON 형식
    • 확장자 수정
    • 목록 만들기
    • CSS 최적화
  • - 암호화 도구
    • MD5 암호화
    • 랜덤 생성기
  • - 이미지 도구
    • 이미지 압축
    • QR 코드 생성기
    • QR 코드 리더
    • 배경 화면 미리보기
    • 이미지 EXIF
  • - 정보 시트
    • 혈액형 유전
    • 의류 사이즈
    • app.tool_clock
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Vimからshellにアクセスしたり、外部コマンドを実行したりする方法
2022-02-11

Vimは、すでに知っているように、多くの特性を含む強力なエディタです。Vimに関するチュートリアルをたくさん書きました。基本的な使い方、プラグイン、その他の有用な特性をカバーしています。Vimが海洋のような特性を提供していることを考えると、私たちはいつも読者と共有するために役立つものを見つけることができます。

このチュートリアルでは、編集ウィンドウで外部のコマンドを実行し、コマンドラインshellにアクセスする方法に重点を置きます。

しかし、私たちが始める前に、このチュートリアルで言及したすべての例、コマンドライン、説明をUbuntu 14.04でテストしました。私たちが使用しているVimバージョンは7.4です。

Vimで外部コマンドを実行する

Vim編集ウィンドウで外部コマンドを実行する必要がある場合があります。たとえば、Vimでファイルを開き、いくつかの変更を行い、これらの変更を保存しようとすると、Vimは十分な権限がないというエラーを投げ出します。

現在のvimセッションを終了し、ファイルを開くのに十分な権限を再使用すると、すべての変更が失われることを意味します。そのため、ほとんどの場合、選択肢は1つだけではありません。このような場合、エディタ内で外部コマンドを実行する能力が役立ちます。

後で上記の例に戻りますが、vimで基本的なコマンドを実行する方法について説明します。

ファイルを編集しているとします。このファイルに含まれる行数、単語数、文字数を知りたいとします。この目的を達成するためにvimのコマンドラインモードでは、コロンを入力するだけです:、次の感嘆符!、最後に、実行するコマンド(この例ではwcが使用されています)と直後のファイル名(%を使用して現在のファイルを表します)。

:! wc %

これは例です。

入力された上で説明したコマンドラインは、実行の準備をします。

次に、端末の出力を示します。

出力が表示されたら、リターンキーを入力するとvimセッションに戻ります。

コードやスクリプトを作成しており、このコードやスクリプトにコンパイル時のエラーや構文エラーが含まれているかどうかをできるだけ早く知りたいと思っています。このとき、この特性は本当に便利です。

続けて、ファイルに出力を追加する必要がある場合は、readを使用します。で行ないます。次に例を示します。

:read ! wc %

readコマンドは、外部コマンドの出力を編集したファイルの現在の行の次の行に新しい行として挿入します。必要に応じて、特定の行番号を指定することもできます。出力は特定の行の後に追加されます。

たとえば、次のコマンドは、ファイルの2行目の後にwcの出力を追加します。

:2read ! wc %

注意:$を使用して最後の行に挿入し、0を最初の行の前に挿入します。

次に、最初に説明した例に戻ります。次のコマンドは、ファイルを閉じる必要がなく、ファイルを保存し(保存されていないコンテンツが失われないことを意味します)、sudoコマンドを使用して再開するのに役立ちます。

:w ! sudo tee %

Vimでshellにアクセス

個別のコマンドを実行するだけでなく、vimに自分が新しく作成したshellを入れることもできます。この目的を達成するには、エディタで次のコマンドを実行する必要があります。

:shell

または、

:sh

shellタスクを完了したらexitを入力します。これにより、元のVimセッションに戻ります。

注意すべき抜け穴

実際の世界では、アクセス可能なshellは絶対にユーザー権限に合致しますが、権限付与技術にも使用できます。以前の記事(sudoeditで)で説明したように、ユーザーsudoに提供された権限がVimでファイルを編集するだけであっても、この技術を使用してエディタから新しいshellを実行することができ、rootユーザーまたは管理者ユーザーができるすべてのコンテンツを作成することができます。

まとめ

Vimで外部コマンドを実行できるのは、多くのシーン(この記事で説明したシーンもあります)で役立ちます。この機能の学習曲線は面倒ではないので、初心者でも経験のあるユーザーでもよく使えます。


ソース元URL:https://dopubox.com/article/p/044150c91aa2d7df

기타 도구
  • 문자 수 TikTok 다운로드 DouYin 다운로드 BASE64 Base64→이미지 이미지→Base64 URL 인코딩 JavaScript 타임스탬프 유니코드 변환기 JSON 형식 확장자 수정 목록 만들기 CSS 최적화 MD5 암호화 랜덤 생성기 이미지 압축 QR 코드 생성기 QR 코드 리더 배경 화면 미리보기 이미지 EXIF 혈액형 유전 의류 사이즈 app.tool_clock
  • ジョン・レノンのギター4億5千万円で落札
    2024-05-30

    ブームなぜ起きた? 東京国立近代美術館で「ハニワと土偶の近代」展
    2024-05-30

    「韓国版純烈」K4の「アダルトKポップ」 日本デビュー曲USEN1位も獲得 コアな追っかけも
    2024-05-30

    『ボールアンドチェイン』南Q太著 評者:三木那由他【このマンガもすごい!】
    2024-05-30

    〈テロ事件と「美の復讐」〉15世紀末・イタリア「メディチ家兄弟暗殺計画」とルネサンスの画家たち
    2024-06-01

    【光る君へ】平安時代、強烈なエピソードで知られた2人の受領とは
    2024-06-01

    あらゆる知識に精通した「天才」が教えてくれた、頭を良くするための新書の読み方と「究極のインプット・アウトプット」の方法
    2024-06-02

    <今週の本棚・次回の予定>6月8日の毎日新聞書評欄は『新装版 ペルーからきた私の娘』ほか
    2024-06-03

    小学館「作家の意向第一に協議」 映像化指針、ドラマ原作者死去で
    2024-06-03

    峰不二子役の増山江威子さん死去 声優、艶ある声でルパン翻弄
    2024-06-03

    現代美術作家の杉本博司がYouTubeチャンネル開設 素顔に迫る映像を公開
    2024-06-04

    知ってる? 「登録博物館等マーク」
    2024-06-05

    「CLAMP展」が国立新美術館で7月より開催。展示数は史上最多の約800点
    2024-06-04

    「梅津庸一 エキシビションメーカー」(ワタリウム美術館)開幕レポート。きっとあなたも展覧会をつくりたくなる
    2024-06-04

    田名網敬一「TANAAMI!! AKATSUKA!! / 45 rpm」展、集英社マンガアートヘリテージ トーキョーギャラリーで開催
    2024-06-04

    口腔ケアで高齢者を守ろう 「おとなの歯磨き」訪問歯科医が出版
    2024-06-04

    ビル・エヴァンスの名言「才能なんて取るに足りない」【本と名言365】
    2024-06-05

    田名網敬一が新作の巨大インスタレーションを発表へ。世界初の大規模回顧展「田名網敬一 記憶の冒険」
    2024-06-06

    青森で来年夏に音楽祭 沖澤のどかさんが総監督
    2024-06-06

    写真家の吉田ルイ子さん死去 「ハーレムの熱い日々」
    2024-06-06

    ©  Dopu Box
    💛