Running Python 3.4 and VIM 7.3 on a Windows 7 machine. Installed all programs as directed. After writing a simple program in Vim (basically
N=Myname
print n
I tried running it with command
:!python
Nothing but errors about not being an command and Shell error 1
Any ideas?
:!python isn't any kind of windows command. See here for basics of how to run a python program in windows. You run it via: python your_program_name.py. It sounds like you're trying to use a vim command from the windows shell (which won't work). Even running your program inside of vim would take a similar command, like perhaps: :!python your_program_name.py (or even :!python %, since vim will then substitute the name of your current file in for the %'
Related
Is there a way that I can free my terminal from running the gVim process w/o quitting gVim so that I can continue to use the terminal? I'd like to be able to
do something similar to what I do with emacs. With emacs I can either use the emacs [file] command to have the process run through the terminal, or I can use the runemacs [file] command to keep the terminal free.
I start gVim with the command:
gvim [file]
and then the terminal hangs until I :quit gVim. When I searched for an answer to this question on the web, people advised that the best thing to do was to use ctrl-z to suspend the vim process and then use fg to return. However, this fails to work for me in both command line and gVim mode. I'm using Git Bash for my terminal on Windows 7.
You could run gvim in background as any other process:
gvim [file] &
After executing this command you receive a message indicating the pid of the new process. When you end it you should receive a similar message on that shell.
Edit:
The ctrl-z/fg problem is probably related to windows. This question states that GitBash would create a new shell instead of returning to the current one, so it probably doesn't work as in Linux. A possible solution would be to run your commands from gVim, either calling the shell through :! on mappings, or plugins/commands (fugitive for git, :py or some plugin for python interpreter, etc).
does anyone know how to produce a similar result?(essentially tying the windows terminal to the open program)
For example, when you run "emacs" in bash (or another linux terminal) it will produce an output into the open terminal until the program is terminated (or silenced with emacs &)
I want to be able to reproduce this effect on windows, but have no idea how, running start(and similar commands) will only run the program in a new window, with a hidden command line, detached from the cmd line process.
You need the /B flag:
start /B myprogram
(Of course, this will only work with programs that actually use the console. If the program doesn't generate console output, this won't magically make it do so.)
You can do that by first installing Cygwin and then running emacs from Cygwin.
Cygwin is a collection of tools which provide functionality similar to a Linux distribution on Windows.
try typing edit into a windows command shell, it's actually a better program than notepad. there are versions of vi, emacs, for windows and dos, you could try any of them.
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/
http://www.vim.org/download.php#pc
I am trying to start python 3.3.3 within a shell buffer in emacs (GNU emacs 24.2). OS is Win7. If I start python from the regular command line, the program works well. If I open a shell buffer in emacs (M-x shell) and type "python" into the command line (the program is in the path), it prints "python" on a new line and stops there.
Any ideas what I am doing wrong?
Sounds like a bug. Try a workaround: load python-mode first, then open the shell interactively. This will provide some setup, which might cure it.
With shipped python.el M-x run-python RET
With python-mode.el M-x python[VERSION] RET
VERSION is optional, it provides non-default shells without re-customizing the variable holding the command-name, i.e. py-shell-name
Trying to get up and running Vim + Rebar.
Separately they work but not together. What I want to achieve is to run eunit without leaving the Vim.
I guess this is doable with following plugin https://github.com/mbbx6spp/vim-rebar . Unfortunately is very poorly documented.
How do I run my tests quickly, see the output, code and once again.
All your feedback will be appreciated.
I don't know how to integrate rebar into vim, but perhaps you could try tmux? This works for me. In one window I keep opened vim, another window i use as compilation/attach session to erlang node.
One quick way to get out of Vim is to suspend it with Ctrl+z, run your commands, and then foreground it again with fg afterwards. Works at least on bash in Os X and Ubuntu Linux.
You can also run command line commands with :! <command name> directly from Vim, e.g. :! ls.
Yet another way is to use screen, with one window running vim and another still on the command line.
The best solution I've found is to use a Makefile in my project. Since vim is capable of running shell commands, you can call make & have it use your makefile. Then map these shell commands to shortcuts of your choosing.
For example, my Makefile has the following:
test:
$(REBAR) skip_deps=true eunit
In my .vimrc:
command MakeErlangTest !make test
nmap <leader>r :MakeErlangTest<CR>
I have been using Gvim for quite sometime and I like it very much.
There is a problem I am facing with Gvim.
I type "shell" and go to the command line, When I press the up arrow I get some weird
symbols and I am not able to use backspace also.
The version which I am using.
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Mar 19 2009 15:27:51)
Sadly the reason this is not working is because gvim is an editor, not a terminal emulator. When yoy type :shell in gvim, you do not actually get a shell, you get some weak shell emulation. I say 'weak' because that shell emulation does not know how to deal with color codes, clear the screen or much else.
I stick to terminal vim, that way I can either use :shell, or, as is much more common, ^Z to just drop back into my shell to do something ( ^Z == suspend ) That, plus gnu-screen, plus a good shell is all the IDE I want.
Try some wrappers, e.g. Conque Shell : Run interactive commands inside a Vim buffer ;)
vim is not for such complicated things I think. you can do simple shell operation via :! or :shell, However, vim is only a good if not best editor.
What you need can be done in shell-mode of Emacs.