I never tried C# but I did code in Java with vim and emacs. Not a nice experience. Java more or less requires an IDE. I assumed C# would be the same but I could have assumed too much.
The most annoying thing in Java without an IDE (and a source-control plugin for that IDE) is moving types from one package to another and renaming types. Due to the requirement that the directory hierarchy mirrors the package structure and that every public class is contained in a file with the same name this can be a bit annoying at times. Otherwise C# is much more concise for many things but apart from that there isn't much difference, at least for me.