9

I am aware of MacVim, and while it's very nice I am constantly in the terminal. Why have two programs running when I could stay in one?

So the question is, how can I make VIM (run in iTerm2) the default text editor?

1

4 Answers 4

5

See my answer here, but use a Run AppleScript action in Automator instead and use the following AppleScript code:

on run {input, parameters}
    if (count of input) > 0 then
        tell application "System Events"
            set runs to false
            try
                set p to application process "iTerm"
                set runs to true
            end try
        end tell
        tell application "iTerm"
            activate
            if (count of terminals) = 0 then
                set t to (make new terminal)
            else    
                set t to current terminal
            end if
            tell t
                tell (make new session at the end of sessions)
                    exec command ("vim \"" & POSIX path of first item of input as text) & "\""
                end tell
                if not runs then
                    terminate first session
                end if
            end tell
        end tell
    end if
end run

This'll open a new iTerm window if there's none, otherwise a new tab, and open the file in there. Result:

enter image description here

8
  • that's great, but how about a new tab instead?
    – Matt Ryan
    May 15, 2011 at 14:22
  • @Matt See edited post.
    – Daniel Beck
    May 15, 2011 at 14:41
  • @daniel that works great, but if the app is not already open it launches with two tabs.
    – Matt Ryan
    May 15, 2011 at 15:16
  • @Matt It does what you want it to do. Nothing more, nothing less. Get your requirements in order.
    – Daniel Beck
    May 15, 2011 at 15:59
  • @Matt Better now?
    – Daniel Beck
    May 15, 2011 at 16:22
2

Following should work(it works for me):

write following two command in your ~/.bashrc if using bash shell OR in ~/.zshrc

export EDITOR=nano
export VISUAL="$EDITOR"

Ref: https://unix.stackexchange.com/questions/501862/how-can-i-set-the-default-editor-as-nano-on-my-mac

1

This is a very simple way to open files in terminal vim from iterm command click. It also jumps to the line number if it is specified. You will need to download one of the nightly builds to get the coprocess feature.

Click on: Preferences -> Profiles -> Advanced

Under "Semantic History", choose "Run coprocess..". In the text field, put: echo vim \1 +\2

source: https://coderwall.com/p/5hp1yg

1
  • This no longer requires the nightly built of ITerm 2.
    – Shadoath
    Jan 10, 2017 at 17:41
0

i dont know if still you are looking for this or not but here is a very easy way to set your default editor to Vi on macos

just do set -o vi

1
  • 1
    OP isn't still having the issue, based on the fact they selected an answer. Jun 26, 2020 at 3:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .